📄 hxfiles.h
字号:
DEFINE_GUID(IID_IHXFileSystemObject, 0x00000202, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXFileSystemObjectDECLARE_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 IHXFileStatDECLARE_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 IHXFileStatResponseDECLARE_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_IHXFileSystemManagerDECLARE_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 IHXFileSystemManagerResponseDECLARE_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 IHXFileExistsDECLARE_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 IHXFileExistsDECLARE_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 IHXFileMimeMapperDECLARE_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 IHXFileMimeMapperResponseDECLARE_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. * */ STDMETHOD(MimeTypeFound) (THIS_ HX_RESULT status, const char* pMimeType) PURE;};/**************************************************************************** * * Interface: * * IHXBroadcastMapper * * Purpose: * * Associates a file with a broadcast format plugin.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -