Knowledge Base

SAMPLE: Using FTP WinInet APIs in Visual Basic with SimpleFtp

Article ID: 195653

Article Last Modified on 8/19/2005


APPLIES TO


This article was previously published under Q195653

SUMMARY

This sample file demonstrates how to use WinInet FTP APIs in a Visual Basic (VB) application.

MORE INFORMATION

The sample demonstrates the following concepts:
  • How to enumerate a directory on the FTP server and return file information such as creation date and size.
  • How to upload large files to the FTP server without blocking the entire application and with reporting transfer progress. There are two ways of uploading a file:
    • By using the FtpPutFile() API. However, this API blocks until the entire file has been uploaded. Upon clicking the Put button, the sample will use this method.
    • By using FtpOpenFile and InternetWriteFile. Once the file is open it can be uploaded in chunks. This enables the application to report upload status and avoid blocking. It does this by calling DoEvents() between calling InternetWriteFile. Upon clicking the Put Large File button, the sample will use this method.
  • How to get text information for WinInet errors and how to retrieve extended error information. For simplicity, the sample does not implement downloading of the large files. This functionality is similar to method b) above; however, you should use the InternetReadFile API instead of InternetWriteFile.

Notes

Click "Networking, Protocols & Data Formats" in the Table of Contents, then click "Win32 Internet Functions."

The following file is available for download from the Microsoft Download Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file. Vbsmpftp.exe contains the following files:

   FileName               Size
   ---------------------------------------------------------

   ErrorForm.frm           1,216
   ErrorForm.frx           6
   readme.txt              1,869
   SimpleFtp.bas           5,364
   SimpleFtp.exe           40,960
   SimpleFtp.frm           13,491
   SimpleFtp.vbp           646
   SimpleFtp.vbw           118
				

REFERENCES

For additional information, please see the following articles in the Microsoft Knowledge Base:

166961 HOWTO: FTP with CERN-Based Proxy Using WinInet API

193625 WinInet Error Codes (12001 through 12156)

216214 SAMPLE: FTP with CERN-Based Password Protected Proxy


Additional query words: VBSMPFTP

Keywords: kbinfo kbdownload kbfile kbsample KB195653