| |
| INT WINAPI FtpSetPriority(
|
| |
HCLIENT hClient, |
|
| |
INT nPriority |
|
| );
|
The FtpSetPriority function specifies the priority for
file transfers.
Parameters
- hClient
- Handle to the client session.
- nPriority
- An integer value which specifies the new priority for file
transfers. It may be one of the following values:
| Constant |
Description |
| FTP_PRIORITY_NORMAL |
The default priority which balances resource utilization and
transfer speed. It is recommended that most applications use this
priority. |
| FTP_PRIORITY_BACKGROUND |
This priority significantly reduces the memory, processor and
network resource utilization for the transfer. It is typically used
with worker threads running in the background when the amount of
time required perform the transfer is not critical. |
| FTP_PRIORITY_LOW |
This priority lowers the overall resource utilization for the
transfer and meters the bandwidth allocated for the transfer. This
priority will increase the average amount of time required to
complete a file transfer. |
| FTP_PRIORITY_HIGH |
This priority increases the overall resource utilization for
the transfer, allocating more memory for internal buffering. It can
be used when it is important to transfer the file quickly, and
there are no other threads currently performing file transfers at
the time. |
| FTP_PRIORITY_CRITICAL |
This priority can significantly increase processor, memory and
network utilization while attempting to transfer the file as
quickly as possible. If the file transfer is being performed in the
main UI thread, this priority can cause the application to appear
to become non-responsive. No events will be generated during the
transfer. |
Return Value
If the function succeeds, the return value is the previous file
transfer priority. If the function fails, the return value is
FTP_ERROR. To get extended error information, call
FtpGetLastError.
Remarks
The FtpSetPriority function can be used to control the
processor usage, memory and network bandwidth allocated for file
transfers. The default priority balances resource utilization and
transfer speed while ensuring that a single-threaded application
remains responsive to the user. Lower priorities reduce the overall
resource utilization at the expense of transfer speed. For example,
if you create a worker thread to download a file in the background
and want to ensure that it has a minimal impact on the process, the
FTP_PRIORITY_BACKGROUND value can be used.
Higher priority values increase the memory allocated for the
transfers and increases processor utilization for the transfer. The
FTP_PRIORITY_CRITICAL priority maximizes transfer speed at the
expense of system resources. It is not recommended that you
increase the file transfer priority unless you understand the
implications of doing so and have thoroughly tested your
application. If the file transfer is being performed in the main UI
thread, increasing the priority may interfere with the normal
processing of Windows messages and cause the application to appear
to become non-responsive. It is also important to note that when
the priority is set to FTP_PRIORITY_CRITICAL, normal progress
events will not be generated during the transfer.
Requirements
Client: Requires Windows 7, Windows Vista or Windows
XP.
Server: Requires Windows Server 2008 or Windows Server
2003.
Header: Include cstools7.h.
Library: Use csftpav7.lib.
Unicode: Implemented as Unicode and ANSI versions.
See Also
FtpGetPriority
|
|