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