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

📄 hxfiles.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 5 页
字号:
    /************************************************************************     *  Method:     *      IHXFastFileFactory2::Wrap     *  Purpose:     *      Return an instantiated wrapper around an existing (but     *      uninitialized) file object.     *     */    STDMETHOD(Wrap)             (THIS_                                 REF(IUnknown*) /*OUT*/ pWrapper,                                 IUnknown*      /*IN*/  pFileObj,                                 UINT32         /*IN*/  ulBlockSize,                                 BOOL           /*IN*/  bAlignReads,                                 BOOL           /*IN*/  bCacheStats,                                 UINT32         /*IN*/  ulMaxBlockSize) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXFilePlacementRead *  *  Purpose: *  *      Reads into the passed buffer *  *  IID_IHXFilePlacementRead *  *	{0000021D-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXFilePlacementRead, 0x0000021D, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXFilePlacementReadDECLARE_INTERFACE_(IHXFilePlacementRead, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)   (THIS_                                REFIID riid,                                void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;    STDMETHOD_(ULONG32,Release) (THIS) PURE;    /*     *	IHXFilePlacementRead methods     */    STDMETHOD(Read)		(THIS_                                ULONG32 ulAmount,                                ULONG32 ulOffset,                                char*   pBuffer,                                BOOL    bOffsetBuffer) PURE;    STDMETHOD_(ULONG32,AlignmentBoundary) (THIS) PURE;};// $EndPrivate./**************************************************************************** *  *  Interface: *  *	IHXFastFileStats *  *  Purpose: *  *      Interface to allow file objects to request that at close they be  *      informed how many bytes have been "fast cached" on their behalf if any. *  *      ulFastFileBytesSaved is the number of bytes that would have been read *      from the file object had FastFile not been in use (this includes some *      lookahead * *      ulFastFileBytesNeeded is the amount of data actually read by the file  *      system.  *  *  IID_IHXFastFileStats: *   *	{0000021E-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXFastFileStats, 0x0000021E, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IHXFastFileStats IID_IHXFastFileStats#undef  INTERFACE#define INTERFACE   IHXFastFileStatsDECLARE_INTERFACE_(IHXFastFileStats, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)   (THIS_                                REFIID riid,                                void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;    STDMETHOD_(ULONG32,Release) (THIS) PURE;    /*     * IHXFastFileStats methods     */    STDMETHOD(UpdateFileObjectStats)	(THIS_                                         UINT32         /*IN*/  ulFastFileBytesSaved,                                         UINT32         /*IN*/  ulFastFileBytesNeeded) PURE;};// $Private:/**************************************************************************** *  *  Interface: *  *	IHXHTTPPostObject *  *  Purpose: *  *	Object that exports file control API *  *  IID_IHXHTTPPostObject: *  *	{00000112-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXHTTPPostObject, 0x00000112, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IHXHTTPPostObject IID_IHXHTTPPostObject#undef  INTERFACE#define INTERFACE   IHXHTTPPostObjectDECLARE_INTERFACE_(IHXHTTPPostObject, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     *	IHXHTTPPostObject methods     */    /************************************************************************     *	Method:     *	    IHXHTTPPostObject::Init     *	Purpose:     *	    Associates a file object with the file response object it should     *	    notify of operation completness. This method should also check     *	    for validity of the object (for example by opening it if it is     *	    a local file).     */    STDMETHOD(Init)	(THIS_			ULONG32		    /*IN*/  ulFlags,			IHXHTTPPostResponse*   /*IN*/  pFileResponse) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostObject::Close     *	Purpose:     *	    Closes the file resource and releases all resources associated     *	    with the object.     */    STDMETHOD(Close)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostObject::GetResponse     *	Purpose:     *	    Tells the object to retreive any response data from the POST.     *	    Calls IHXHTTPPostResponse with ResponseReady(IHXValues*).     */    STDMETHOD(GetResponse)	(THIS) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostObject::Post     *	Purpose:     *	    Writes a buffer of data to the HTTP URL and asynchronously notifies     *	    the caller via the IHXFileResponse interface passed in to Init,     *	    of the completeness of the operation.     */    STDMETHOD(Post)	(THIS_			IHXBuffer* pBuffer) PURE;			/************************************************************************     *	Method:     *	    IHXHTTPPostObject::SetSize     *	Purpose:     *      Set the total size of the Post(s) about to be made.     */    STDMETHOD(SetSize)		(THIS_				ULONG32		ulLength) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXHTTPPostResponse *  *  Purpose: *  *	Object that exports file response API *  *  IID_IHXHTTPPostResponse: *  *	{00000113-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXHTTPPostResponse,	0x00000113, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			    0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXHTTPPostResponseDECLARE_INTERFACE_(IHXHTTPPostResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXHTTPPostResponse methods     */    /************************************************************************     *	Method:     *	    IHXHTTPPostResponse::InitDone     *	Purpose:     *	    Notification interface provided by users of the IHXHTTPPostObject     *	    interface. This method is called by the IHXHTTPPostObject when the     *	    initialization of the file is complete. If the file is not valid      *	    for the file system, the status HXR_FAILED should be      *	    returned.     */    STDMETHOD(InitDone)			(THIS_					HX_RESULT	    status) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostResponse::CloseDone     *	Purpose:     *	    Notification interface provided by users of the IHXHTTPPostObject     *	    interface. This method is called by the IHXHTTPPostObject when the     *	    close of the file is complete.     */    STDMETHOD(CloseDone)		(THIS_					HX_RESULT	    status) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostResponse::ResponseReady     *	Purpose:     *	    Notification interface provided by users of the IHXHTTPPostObject     *	    interface. This method is called by the IHXHTTPPostObject when the     *	    POST response data has been completely read.     */    STDMETHOD(ResponseReady)		(THIS_ 					HX_RESULT	    status,					IHXBuffer*	    pContentBuffer) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPPostResponse::WriteDone     *	Purpose:     *	    Notification interface provided by users of the IHXHTTPPostObject     *	    interface. This method is called by the IHXHTTPPostObject when the     *	    last write to the file is complete.     */    STDMETHOD(PostDone)			(THIS_ 					HX_RESULT	    status) PURE;};// $EndPrivate.// $Private:/**************************************************************************** *  *  Interface: *  *	IHXHTTPRedirect *  *  Purpose: *  *	Allows you to get redirect URL *  *  IID_IHXHTTPRedirect: *  *	{00002E00-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXHTTPRedirect, 0x21eae0b9, 0x2e0c, 0x4003, 0xbb, 0x79,            0xbc, 0x8c, 0xc5, 0x67, 0x2c, 0x2d);#undef  INTERFACE#define INTERFACE   IHXHTTPRedirectDECLARE_INTERFACE_(IHXHTTPRedirect, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXHTTPRedirect methods     */    /************************************************************************     *	Method:     *	    IHXHTTPRedirect::Init     *	Purpose:     *	    Initialize the response object     */    STDMETHOD(Init)	    (THIS_			     IHXHTTPRedirectResponse* pRedirectResponse) PURE;    /************************************************************************     *	Method:     *	    IHXHTTPRedirect::SetResponseObject     *	Purpose:     *	    Initialize the response object w/o calling Init     */    STDMETHOD(SetResponseObject) (THIS_                              IHXHTTPRedirectResponse* pRedirectResponse) PURE;};/**************************************************************************** *  *  Interface: *  *	IHXHTTPRedirectResponse *  *  Purpose: *  *	Allows you to get redirect URL *  *  IID_IHXHTTPRedirectResponse: *  *	{00002E01-0901-11d1-8B06-00A024406D59} *  */DEFINE_GUID(IID_IHXHTTPRedirectResponse, 0x125a63b1, 0x669c, 0x42f9, 0xb1,            0xf9, 0x1b, 0x53, 0xe9, 0x95, 0x82, 0x95);#undef  INTERFACE#define INTERFACE   IHXHTTPRedirectResponseDECLARE_INTERFACE_(IHXHTTPRedirectResponse, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)		(THIS_					REFIID riid,					void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)		(THIS) PURE;    STDMETHOD_(ULONG32,Release)		(THIS) PURE;    /*     *	IHXHTTPRedirectResponse methods     */    /************************************************************************     *	Method:     *	    IHXHTTPRedirectResponse::RedirectDone     *	Purpose:     *	    return the redirect URL     */    STDMETHOD(RedirectDone)		(THIS_					 IHXBuffer* pURL) PURE;};/**************************************************************************** *  *  Interface: * *	IHXRM2Converter2 * *  Purpose: * *	Interface to RM1->RM2 merge/converter module. This is a new improved *      interface which contains all of the functionality of the old one. *      However, this one is asynchronous where necessary and takes standard *      IHXFileObjects instead of pathnames for the required files. * *  IHXRM2Converter * *	{00002F00-0901-11D1-8B06-00A024406D59} */DEFINE_GUID(IID_IHXRM2Converter2, 0x00002F00, 0x901, 0x11d1, 0x8b, 	    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IRMARM2Converter2 IID_IHXRM2Converter2#undef  INTERFACE#define INTERFACE   IHXRM2Converter2DECLARE_INTERFACE_(IHXRM2Converter2, IUnknown){    /*     *	IUnknown methods     */    STDMETHOD(QueryInterface)	    (THIS_				    REFIID riid,				    void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	    (THIS) PURE;    STDMETHOD_(ULONG32,Release)	    (THIS) PURE;    /*     *	IHXRM2Converter2 methods     */    STDMETHOD(Init)		    (THIS_				    IHXRM2Converter2Response* pResponse) PURE;    //    // AddStream takes a stream from an RM1 file and    // adds it to the new RM2 multirate section    //    STDMETHOD(AddStream)	    (THIS_				    const char* pFilename,				    IHXFileObject* pFileObject,				    UINT16 nStreamNumber,				    BOOL bTagAsBackwardCompatible) PURE;    //    // AddInterleavedStream takes a stream from an    // RM1 file and adds it to the initial interleaved    // backward compatibility section    //    STDMETHOD(AddInterleavedStream) (THIS_				    const char* pFilename,				    IHXFileObject* pFileObject,				    UINT16 nStreamNumber) PURE;    //    // Add file slurps down all of the streams in    // an RM1 file and adds them to the new RM2    // multirate section.    //    STDMETHOD(AddFile)		    (THIS_				    const char* pFilename,				    IHXFileObject* pFileObject) PURE;    //    // SetTitle,Author,Copyright, and Comment    // should all be pretty self explanatory...    /

⌨️ 快捷键说明

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