Implement dokany callbacks
This commit is contained in:
@@ -151,11 +151,12 @@ class SIADRIVE_DOKAN_EXPORTABLE DokanCreateFile :
|
||||
public CEvent
|
||||
{
|
||||
public:
|
||||
DokanCreateFile(const SString& filePath, const DWORD& fileAttributesAndFlags, const DWORD& creationDisposition, const ACCESS_MASK& genericDesiredAccess) :
|
||||
DokanCreateFile(const SString& filePath, const DWORD& fileAttributesAndFlags, const DWORD& creationDisposition, const ACCESS_MASK& genericDesiredAccess, const NTSTATUS& returnStatus) :
|
||||
_filePath(filePath),
|
||||
_fileAttributesAndFlags(fileAttributesAndFlags),
|
||||
_creationDisposition(creationDisposition),
|
||||
_genericDesiredAccess(genericDesiredAccess)
|
||||
_genericDesiredAccess(genericDesiredAccess),
|
||||
_returnStatus(returnStatus)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -170,11 +171,12 @@ private:
|
||||
const DWORD _fileAttributesAndFlags;
|
||||
const DWORD _creationDisposition;
|
||||
const ACCESS_MASK _genericDesiredAccess;
|
||||
const NTSTATUS _returnStatus;
|
||||
|
||||
public:
|
||||
virtual std::shared_ptr<CEvent> Clone() const override
|
||||
{
|
||||
return std::shared_ptr<CEvent>(new DokanCreateFile(_filePath, _fileAttributesAndFlags, _creationDisposition, _genericDesiredAccess));
|
||||
return std::shared_ptr<CEvent>(new DokanCreateFile(_filePath, _fileAttributesAndFlags, _creationDisposition, _genericDesiredAccess, _returnStatus));
|
||||
}
|
||||
|
||||
virtual SString GetSingleLineMessage() const override
|
||||
@@ -182,7 +184,8 @@ public:
|
||||
return L"DokanCreateFile|FILE|" + _filePath +
|
||||
"|ATTR|" + SString::FromUInt32(_fileAttributesAndFlags) +
|
||||
"|DISP|" + SString::FromUInt32(_creationDisposition) +
|
||||
"|MASK|" + SString::FromUInt32(_genericDesiredAccess);
|
||||
"|MASK|" + SString::FromUInt32(_genericDesiredAccess) +
|
||||
"|RET|" + SString::FromUInt32(_returnStatus);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -222,5 +225,35 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class SIADRIVE_DOKAN_EXPORTABLE DokanCloseFile :
|
||||
public CEvent
|
||||
{
|
||||
public:
|
||||
DokanCloseFile(const SString& cachePath) :
|
||||
_cachePath(cachePath)
|
||||
{
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~DokanCloseFile()
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
const SString _cachePath;
|
||||
|
||||
public:
|
||||
virtual std::shared_ptr<CEvent> Clone() const override
|
||||
{
|
||||
return std::shared_ptr<CEvent>(new DokanCloseFile(_cachePath));
|
||||
}
|
||||
|
||||
virtual SString GetSingleLineMessage() const override
|
||||
{
|
||||
return L"DokanCloseFile|PATH|" + _cachePath;
|
||||
}
|
||||
};
|
||||
|
||||
NS_END(3)
|
||||
#endif //_SIADOKANDRIVE_H
|
Reference in New Issue
Block a user