INFO: Limitations of WinInet FTP Functions

Last reviewed: March 12, 1998
Article ID: Q172712
The information in this article applies to:
  • Microsoft ActiveX SDK, version 1.0
  • Internet Client SDK, versions 4.0, 4.01
  • Internet Explorer (Programming), versions 4.0, 4.01

SUMMARY

There are some limitations to the WinInet FTP functions that developers should be aware of. Before deciding to rely on WinInet for an application’s FTP functionality, a developer should verify that the APIs function as desired with all required FTP servers.

First, WinInet does not implement all of the functionality available through the FTP protocol. While an interactive FTP client gives the user the ability to do just about anything that a server supports, WinInet is limited to the available API functions; there is no way to send a specific FTP command through WinInet.

In addition, WinInet may not work with every FTP server. The FTP protocol is designed with the presumption that the output is viewed by a human user, who can interpret the reply code and text. WinInet FTP attempts to parse and interpret the reply; if a server returns a nonstandard reply to the WinInet client, WinInet may not be able to function properly. In addition, the lack of the ability to send a particular FTP command may cause problems with some servers.

There are Microsoft Foundation Classes (MFC) that wrap the base WinInet functions. If any of the above problems are encountered in a non-MFC application, it is extremely likely that the problem will be inherited by the MFC WinInet classes; these classes don’t provide a workaround to a problem inherent in the base API function. Conversely, if a problem is experienced using the MFC WinInet classes, in some instances it may be useful to try the base API calls for a possible workaround.

MORE INFORMATION

Below is a list of instances where problems are known to occur. This list is not exhaustive, and developers may encounter additional limitations not listed here.

VMS FTP servers: WinInet FTP functions may not work with some FTP servers running on the VMS operating system. In particular, the FTP functions may fail with an error, or the data structure that returns file information may be blank or contain invalid data.

For additional information, please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q168492
   TITLE     : PRB: FTP WinInet APIs Report Error 12003

This problem occurs when text returned by the FTP server is in a format that WinInet cannot parse correctly.

Firewalls: Authenticating with a particular firewall may not be possible, depending on the particular method the firewall requires. If the usernames and passwords for both the firewall and the destination FTP server cannot be specified in the single username and password accepted by the InternetConnect function, it is unlikely that WinInet will operate through the firewall. If this is the case, the only options are to reconfigure the firewall to accept authentication in the format that can be provided by WinInet, remove the firewall, or do not use the WinInet FTP functions. Limited FTP functionality may be achieved over a CERN proxy with the InternetOpenUrl function.

For additional information, please see the following article(s) in the Microsoft Knowledge Base:

   ARTICLE-ID: Q166961
   TITLE     : HOWTO: FTP with CERN-Based Proxy Using WinInet API


Additional query words: user name names
Keywords : AXSDKWinInet
Technology : internet
Version : WINDOWS:1.0,4.0,4.01
Platform : WINDOWS
Hardware : x86
Issue type : kbinfo


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 12, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.