📄 hxfiles.h
字号:
* 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 IHXFileRenameDECLARE_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 IHXFileMoveDECLARE_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 IHXDirHandlerDECLARE_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 IHXDirHandlerResponseDECLARE_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 IHXGetRecursionLevelDECLARE_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 IHXFileRestrictorDECLARE_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 IHXFileRemoveDECLARE_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 IHXFastFileFactoryDECLARE_INTERFACE_(IHXFastFileFactory, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXFastFileFactory methods */ /************************************************************************ * Method: * IHXFastFileFactory::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) PURE;};/**************************************************************************** * * Interface: * * IHXFastFileFactory2 * * Purpose: * * Interface to allow wrapping file objects with a buffer and block-sharing * sceme. Query off the server class factory. * * IID_IHXFastFileFactory2: * * {0000021F-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXFastFileFactory2, 0x0000021F, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IHXFastFileFactory2 IID_IHXFastFileFactory2#undef INTERFACE#define INTERFACE IHXFastFileFactory2DECLARE_INTERFACE_(IHXFastFileFactory2, IUnknown){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -