SFtpFile Delphi DLL Reference Documentation

SFtpFile

Current Version: 11.0.0

Represents a remote SFTP file.

Create/Dispose

var
myObject: HCkSFtpFile;

begin
myObject := CkSFtpFile_Create();

// ...

CkSFtpFile_Dispose(myObject);
end;
function CkSFtpFile_Create: HCkSFtpFile; stdcall;

Creates an instance of the HCkSFtpFile object and returns a handle (i.e. a Pointer). The handle is passed in the 1st argument for the functions listed on this page.

procedure CkSFtpFile_Dispose(handle: HCkSFtpFile); stdcall;

Objects created by calling CkSFtpFile_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function.

Properties

CreateTimeStr
procedure CkSFtpFile_getCreateTimeStr(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__createTimeStr(objHandle: HCkSFtpFile): PWideChar; stdcall;

The file creation date and time. This property is only supported by servers running SFTP v4 or later. The date/time is an RFC822 formatted string.

See the notes about PWideChar memory ownership and validity.

top
DebugLogFilePath
procedure CkSFtpFile_getDebugLogFilePath(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
procedure CkSFtpFile_putDebugLogFilePath(objHandle: HCkSFtpFile; newPropVal: PWideChar); stdcall;
function CkSFtpFile__debugLogFilePath(objHandle: HCkSFtpFile): PWideChar; stdcall;

If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. This logging helps identify the context and history of Chilkat calls leading up to any crash or hang, aiding in debugging.

Enabling the VerboseLogging property provides more detailed information. This property is mainly used for debugging rare instances where a Chilkat method call causes a hang or crash, which should generally not happen.

Possible causes of hangs include:

  • A timeout property set to 0, indicating an infinite timeout.
  • A hang occurring within an event callback in the application code.
  • An internal bug in the Chilkat code causing the hang.

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top
Filename
procedure CkSFtpFile_getFilename(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__filename(objHandle: HCkSFtpFile): PWideChar; stdcall;

The filename (or directory name, symbolic link name, etc.)

See the notes about PWideChar memory ownership and validity.

top
FileType
procedure CkSFtpFile_getFileType(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__fileType(objHandle: HCkSFtpFile): PWideChar; stdcall;

One of the following values:

  regular
  directory
  symLink
  special
  unknown
  socket
  charDevice
  blockDevice
  fifo

See the notes about PWideChar memory ownership and validity.

top
Gid
function CkSFtpFile_getGid(objHandle: HCkSFtpFile): Integer; stdcall;

The integer Group ID of the file.

top
Group
procedure CkSFtpFile_getGroup(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__group(objHandle: HCkSFtpFile): PWideChar; stdcall;

The group ownership of the file. This property is only supported by servers running SFTP v4 or later.

See the notes about PWideChar memory ownership and validity.

top
IsAppendOnly
function CkSFtpFile_getIsAppendOnly(objHandle: HCkSFtpFile): wordbool; stdcall;

If True, this file may only be appended. This property is only supported by servers running SFTP v6 or later.

top
IsArchive
function CkSFtpFile_getIsArchive(objHandle: HCkSFtpFile): wordbool; stdcall;

If True, the file should be included in backup / archive operations. This property is only supported by servers running SFTP v6 or later.

top
IsCaseInsensitive
function CkSFtpFile_getIsCaseInsensitive(objHandle: HCkSFtpFile): wordbool; stdcall;

This attribute applies only to directories. This attribute means that files and directory names in this directory should be compared without regard to case. This property is only supported by servers running SFTP v6 or later.

top
IsCompressed
function CkSFtpFile_getIsCompressed(objHandle: HCkSFtpFile): wordbool; stdcall;

The file is stored on disk using file-system level transparent compression. This flag does not affect the file data on the wire. This property is only supported by servers running SFTP v6 or later.

top
IsDirectory
function CkSFtpFile_getIsDirectory(objHandle: HCkSFtpFile): wordbool; stdcall;

If True, this is a directory.

top
IsEncrypted
function CkSFtpFile_getIsEncrypted(objHandle: HCkSFtpFile): wordbool; stdcall;

The file is stored on disk using file-system level transparent encryption. This flag does not affect the file data on the wire (for either READ or WRITE requests.) This property is only supported by servers running SFTP v6 or later.

top
IsHidden
function CkSFtpFile_getIsHidden(objHandle: HCkSFtpFile): wordbool; stdcall;

If True, the file SHOULD NOT be shown to user unless specifically requested.

top
IsImmutable
function CkSFtpFile_getIsImmutable(objHandle: HCkSFtpFile): wordbool; stdcall;

The file cannot be deleted or renamed, no hard link can be created to this file, and no data can be written to the file.

This bit implies a stronger level of protection than ReadOnly, the file permission mask or ACLs. Typically even the superuser cannot write to immutable files, and only the superuser can set or remove the bit.

This property is only supported by servers running SFTP v6 or later.

top
IsReadOnly
function CkSFtpFile_getIsReadOnly(objHandle: HCkSFtpFile): wordbool; stdcall;

If True, the file is read-only. This property is only supported by servers running SFTP v6 or later.

top
IsRegular
function CkSFtpFile_getIsRegular(objHandle: HCkSFtpFile): wordbool; stdcall;

True if this is a normal file (not a directory or any of the other non-file types).

top
IsSparse
function CkSFtpFile_getIsSparse(objHandle: HCkSFtpFile): wordbool; stdcall;

The file is a sparse file; this means that file blocks that have not been explicitly written are not stored on disk. For example, if a client writes a buffer at 10 M from the beginning of the file, the blocks between the previous EOF marker and the 10 M offset would not consume physical disk space.

Some servers may store all files as sparse files, in which case this bit will be unconditionally set. Other servers may not have a mechanism for determining if the file is sparse, and so the file MAY be stored sparse even if this flag is not set.

This property is only supported by servers running SFTP v6 or later.

top
IsSymLink
function CkSFtpFile_getIsSymLink(objHandle: HCkSFtpFile): wordbool; stdcall;

True if this is a symbolic link.

top
IsSync
function CkSFtpFile_getIsSync(objHandle: HCkSFtpFile): wordbool; stdcall;

When the file is modified, the changes are written synchronously to the disk. This property is only supported by servers running SFTP v6 or later.

top
IsSystem
function CkSFtpFile_getIsSystem(objHandle: HCkSFtpFile): wordbool; stdcall;

True if the file is part of the operating system. This property is only supported by servers running SFTP v6 or later.

top
LastAccessTimeStr
procedure CkSFtpFile_getLastAccessTimeStr(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__lastAccessTimeStr(objHandle: HCkSFtpFile): PWideChar; stdcall;

The last-access date and time as an RFC822 formatted string.

See the notes about PWideChar memory ownership and validity.

top
LastErrorHtml
procedure CkSFtpFile_getLastErrorHtml(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__lastErrorHtml(objHandle: HCkSFtpFile): PWideChar; stdcall;

Provides HTML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

See the notes about PWideChar memory ownership and validity.

top
LastErrorText
procedure CkSFtpFile_getLastErrorText(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__lastErrorText(objHandle: HCkSFtpFile): PWideChar; stdcall;

Provides plain text information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

See the notes about PWideChar memory ownership and validity.

top
LastErrorXml
procedure CkSFtpFile_getLastErrorXml(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__lastErrorXml(objHandle: HCkSFtpFile): PWideChar; stdcall;

Provides XML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

See the notes about PWideChar memory ownership and validity.

top
LastMethodSuccess
function CkSFtpFile_getLastMethodSuccess(objHandle: HCkSFtpFile): wordbool; stdcall;
procedure CkSFtpFile_putLastMethodSuccess(objHandle: HCkSFtpFile; newPropVal: wordbool); stdcall;

Indicates the success or failure of the most recent method call: True means success, False means failure. This property remains unchanged by property setters or getters. This method is present to address challenges in checking for null or Nothing returns in certain programming languages.

top
LastModifiedTimeStr
procedure CkSFtpFile_getLastModifiedTimeStr(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__lastModifiedTimeStr(objHandle: HCkSFtpFile): PWideChar; stdcall;

The last-modified date and time as an RFC822 formatted string. Other date/time formats can be obtained by calling the GetLastModifiedDt method to return a CkDateTime object, and then use CkDateTime to get the desired format.

See the notes about PWideChar memory ownership and validity.

top
Owner
procedure CkSFtpFile_getOwner(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__owner(objHandle: HCkSFtpFile): PWideChar; stdcall;

The owner of the file. This property is only supported by servers running SFTP v4 or later.

See the notes about PWideChar memory ownership and validity.

top
Permissions
function CkSFtpFile_getPermissions(objHandle: HCkSFtpFile): Integer; stdcall;

The 'permissions' field contains a bit mask specifying file permissions. These permissions correspond to the st_mode field of the stat structure defined by POSIX [IEEE.1003-1.1996].

This protocol uses the following values for the symbols declared in the POSIX standard.

       S_IRUSR  0000400 (octal)
       S_IWUSR  0000200
       S_IXUSR  0000100
       S_IRGRP  0000040
       S_IWGRP  0000020
       S_IXGRP  0000010
       S_IROTH  0000004
       S_IWOTH  0000002
       S_IXOTH  0000001
       S_ISUID  0004000
       S_ISGID  0002000
       S_ISVTX  0001000

top
Size32
function CkSFtpFile_getSize32(objHandle: HCkSFtpFile): Integer; stdcall;

Size of the file in bytes. If the size is too large for 32-bits, a -1 is returned.

top
Size64
function CkSFtpFile_getSize64(objHandle: HCkSFtpFile): Int64; stdcall;

Size of the file in bytes. If the file size is a number too large for 64 bits, you have an AMAZINGLY large disk drive.

top
SizeStr
procedure CkSFtpFile_getSizeStr(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__sizeStr(objHandle: HCkSFtpFile): PWideChar; stdcall;

Same as Size64, but the number is returned as a string in decimal format.

See the notes about PWideChar memory ownership and validity.

top
Uid
function CkSFtpFile_getUid(objHandle: HCkSFtpFile): Integer; stdcall;

The integer User ID of the file.

top
VerboseLogging
function CkSFtpFile_getVerboseLogging(objHandle: HCkSFtpFile): wordbool; stdcall;
procedure CkSFtpFile_putVerboseLogging(objHandle: HCkSFtpFile; newPropVal: wordbool); stdcall;

If set to True, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is False. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

top
Version
procedure CkSFtpFile_getVersion(objHandle: HCkSFtpFile; outPropVal: HCkString); stdcall;
function CkSFtpFile__version(objHandle: HCkSFtpFile): PWideChar; stdcall;

Version of the component/library, such as "10.1.0"

See the notes about PWideChar memory ownership and validity.

More Information and Examples
top

Methods

Deprecated

GetCreateDt
function CkSFtpFile_GetCreateDt(objHandle: HCkSFtpFile): HCkDateTime; stdcall;
This method is deprecated.

Applications should instead access the CreateTimeStr property.

Returns the file creation date and time (GMT / UTC). This method is only supported by servers running SFTP v4 or later.

Returns nil on failure

top
GetLastAccessDt
function CkSFtpFile_GetLastAccessDt(objHandle: HCkSFtpFile): HCkDateTime; stdcall;
This method is deprecated.

Applications should instead access the LastAccessTimeStr property.

Returns the last-access date and time (GMT / UTC).

Returns nil on failure

top
GetLastModifiedDt
function CkSFtpFile_GetLastModifiedDt(objHandle: HCkSFtpFile): HCkDateTime; stdcall;
This method is deprecated.

Applications should instead access the LastModifiedTimeStr property.

Returns the last-modified date and time (GMT / UTC).

Returns nil on failure

More Information and Examples
top