Package com.hierynomus.smbj.share
Class DiskEntry
- All Implemented Interfaces:
Closeable
,AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from class com.hierynomus.smbj.share.Open
Open.LockBuilder
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
createHardlink
(String linkname) Creates hard link for receiver.
This method is a shortcut forDiskEntry#createHardlink(linkname, false)
void
createHardlink
(String linkname, boolean replaceIfExist) Creates hard link for receiver.void
boolean
void
flush()
<F extends FileQueryableInformation>
FgetFileInformation
(Class<F> informationClass) Deprecated.getPath()
Gets the relative path of this disk entry.getSecurityInformation
(Set<SecurityInformation> securityInfo) Gets the UNC path of this disk entry.int
hashCode()
byte[]
ioctl
(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.int
ioctl
(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength, byte[] outData, int outOffset, int outLength) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.byte[]
ioctl
(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength, int maxOutputResponse) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.void
void
void
<F extends FileSettableInformation>
voidsetFileInformation
(F information) void
setSecurityInformation
(SecurityDescriptor securityDescriptor) void
setSecurityInformation
(SecurityDescriptor securityDescriptor, Set<SecurityInformation> securityInfo) Methods inherited from class com.hierynomus.smbj.share.Open
close, closeSilently, getFileId, lockRequest, requestLock
-
Field Details
-
logger
protected final org.slf4j.Logger logger
-
-
Constructor Details
-
Method Details
-
closeNoWait
public void closeNoWait() -
getFileName
Deprecated.as of 0.11.0 usegetUncPath()
instead.Gets the UNC path of this disk entry.- Returns:
- The UNC path of this disk entry.
-
getUncPath
Gets the UNC path of this disk entry.- Returns:
- The UNC path of this disk entry. Example: \\192.168.1.51\share\folder0\test1.txt
-
getPath
Gets the relative path of this disk entry.- Returns:
- The relative path of this disk entry. Example: folder0/test1.txt
-
getFileInformation
- Throws:
SMBApiException
-
getFileInformation
public <F extends FileQueryableInformation> F getFileInformation(Class<F> informationClass) throws SMBApiException - Throws:
SMBApiException
-
setFileInformation
-
getSecurityInformation
public SecurityDescriptor getSecurityInformation(Set<SecurityInformation> securityInfo) throws SMBApiException - Throws:
SMBApiException
-
setSecurityInformation
- Throws:
SMBApiException
-
setSecurityInformation
public void setSecurityInformation(SecurityDescriptor securityDescriptor, Set<SecurityInformation> securityInfo) throws SMBApiException - Throws:
SMBApiException
-
rename
- Throws:
SMBApiException
-
rename
- Throws:
SMBApiException
-
rename
public void rename(String newName, boolean replaceIfExist, long rootDirectory) throws SMBApiException - Throws:
SMBApiException
-
createHardlink
Creates hard link for receiver.
This method is a shortcut forDiskEntry#createHardlink(linkname, false)
- Parameters:
linkname
- the path to the hard link relative to share- Throws:
SMBApiException
-
createHardlink
Creates hard link for receiver.- Parameters:
linkname
- the path to the hard link relative to sharereplaceIfExist
- if true replaces existing entry.- Throws:
SMBApiException
-
ioctl
public byte[] ioctl(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.- Parameters:
ctlCode
- the control codeisFsCtl
- true if the control code is an FSCTL; false if it is an IOCTLinData
- the control code dependent input datainOffset
- the offset ininData
where the input data startsinLength
- the number of bytes frominData
to send, starting atoffset
- Returns:
- the response data or
null
if the control code did not produce a response
-
ioctl
public byte[] ioctl(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength, int maxOutputResponse) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.- Parameters:
ctlCode
- the control codeisFsCtl
- true if the control code is an FSCTL; false if it is an IOCTLinData
- the control code dependent input datainOffset
- the offset ininData
where the input data startsinLength
- the number of bytes frominData
to send, starting atoffset
maxOutputResponse
- the maximum number of bytes that the server can return for the output data in the SMB2 IOCTL Response.- Returns:
- the response data or
null
if the control code did not produce a response
-
ioctl
public int ioctl(int ctlCode, boolean isFsCtl, byte[] inData, int inOffset, int inLength, byte[] outData, int outOffset, int outLength) Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.- Parameters:
ctlCode
- the control codeisFsCtl
- true if the control code is an FSCTL; false if it is an IOCTLinData
- the control code dependent input datainOffset
- the offset ininData
where the input data startsinLength
- the number of bytes frominData
to send, starting atinOffset
outData
- the buffer where the response data should be writtenoutOffset
- the offset inoutData
where the output data should be writtenoutLength
- the maximum amount of data to write inoutData
, starting atoutOffset
- Returns:
- the number of bytes written to
outData
-
flush
public void flush() -
deleteOnClose
public void deleteOnClose() -
hashCode
public int hashCode() -
equals
-
getUncPath()
instead.