[This is preliminary documentation and is subject to change.]

Called to transfer a file from the plugin's file system to the normal file system (drive letters or UNC).

Namespace: Tools.TotalCommanderT
Assembly: Tools.TotalCommander (in Tools.TotalCommander.dll) Version: 1.5.3.38916 (1.5.3.38916)

Syntax

C#
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
[CLSCompliantAttribute(false)]
public int FsGetFile(
	sbyte* RemoteName,
	sbyte* LocalName,
	int CopyFlags,
	RemoteInfoStruct* ri
)
Visual Basic
<EditorBrowsableAttribute(EditorBrowsableState.Never)> _
<CLSCompliantAttribute(False)> _
Public Function FsGetFile ( _
	RemoteName As SByte*, _
	LocalName As SByte*, _
	CopyFlags As Integer, _
	ri As RemoteInfoStruct* _
) As Integer
Visual C++
[EditorBrowsableAttribute(EditorBrowsableState::Never)]
[CLSCompliantAttribute(false)]
public:
int FsGetFile(
	signed char* RemoteName, 
	signed char* LocalName, 
	int CopyFlags, 
	RemoteInfoStruct* ri
)
F#
[<EditorBrowsableAttribute(EditorBrowsableState.Never)>]
[<CLSCompliantAttribute(false)>]
member FsGetFile : 
        RemoteName:nativeptr<sbyte> * 
        LocalName:nativeptr<sbyte> * 
        CopyFlags:int * 
        ri:nativeptr<RemoteInfoStruct> -> int 
JScript
JScript does not support APIs that consume or return unsafe types.

Parameters

RemoteName
Type: System..::..SByte*
Name of the file to be retrieved, with full path. The name always starts with a backslash, then the names returned by FsFindFirst(SByte*, _WIN32_FIND_DATAW*)/FsFindNext(Void*, _WIN32_FIND_DATAW*) separated by backslashes.
LocalName
Type: System..::..SByte*
Local file name with full path, either with a drive letter or UNC path (\\Server\Share\filename). The plugin may change the NAME/EXTENSION of the file (e.g. when file conversion is done), but not the path!
CopyFlags
Type: System..::..Int32
Can be combination of the CopyFlags values
ri
Type: RemoteInfoStruct*
This parameter contains information about the remote file which was previously retrieved via FsFindFirst(SByte*, _WIN32_FIND_DATAW*)/FsFindNext(Void*, _WIN32_FIND_DATAW*): The size, date/time, and attributes of the remote file. May be useful to copy the attributes with the file, and for displaying a progress dialog.

Return Value

One of the FileSystemExitCode values

Remarks

Total Commander usually calls this function twice:
  • once with CopyFlags==0 or CopyFlags==Move. If the local file exists and resume is supported, return ExistsResumeAllowed. If resume isn't allowed, return FileExists
  • a second time with Resume or Overwrite, depending on the user's choice. The resume option is only offered to the user if ExistsResumeAllowed was returned by the first call.
  • SameCase and DifferentCase are NEVER passed to this function, because the plugin can easily determine whether a local file exists or not.
  • Move is set, the plugin needs to delete the remote file after a successful download.

While copying the file, but at least at the beginning and the end, call ProgressProc(String, String, Int32) to show the copy progress and allow the user to abort the operation.

This function is called by Total Commander and is not intended for direct use

See Also