📄 hxfiles.h
字号:
*/
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 + -