共用方式為


CFtpConnection::OpenFile

呼叫此成員函式來開啟位於讀取或寫入 FTP 伺服器上的檔案。

CInternetFile* OpenFile(
   LPCTSTR pstrFileName,
   DWORD dwAccess = GENERIC_READ,
   DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY,
   DWORD_PTR dwContext = 1 
);

參數

  • pstrFileName
    對包含檔案名稱的字串的指標會開啟。

  • dwAccess
    若要判斷檔案的方式存取。 可以是或, GENERIC_READ GENERIC_WRITE,但不能同時指定兩者。

  • dwFlags
    指定後續呼叫時所發生的條件。 這可以是下列 FTP_TRANSFER_*常數之一:

    • FTP_TRANSFER_TYPE_ASCII 使用 FTP ASCII (型別的) 傳輸方法的檔案傳輸。 轉換為控制項陣列和格式化資訊至本機對等用法。

    • FTP_TRANSFER_TYPE_BINARY 使用 FTP 的影像 (型別)、傳輸方法的檔案傳輸資料。 實際檔案傳輸資料,則它會存在,就不會變更。 這是預設傳輸方法。

  • dwContext
    開啟的檔案內容識別項。 請參閱 備註 有關 dwContext。

傳回值

CInternetFile 物件的指標。

備註

應在下列情況下使用OpenFile :

  • 應用程式不需要傳送和建立做為 FTP 伺服器上的檔案,但是,資料不在本機檔案的資料。 一旦 OpenFile 開啟檔案時,應用程式就必須使用 CInternetFile::Write 傳送 FTP 檔案資料傳送至伺服器。

  • 應用程式必須從伺服器擷取檔案並將它放置在應用程式的記憶體,而不是寫入至磁碟。 應用程式會使用 OpenFile 後開啟檔案的使用 CInternetFile::Read

  • 應用程式需要較佳的控制層級。檔案傳輸的。 例如,應用程式可能會想要顯示進度指示檔案傳輸狀態的進度,當下載檔案時。

在呼叫之後 OpenFile 和直到呼叫 CInternetConnection::Close,應用程式只能呼叫 CInternetFile::ReadCInternetFile::WriteCInternetConnection::CloseCFtpFileFind::FindFile。 對其他 FTP 函式呼叫相同 FTP 的失敗並將錯誤碼設定為 FTP_ETRANSFER_IN_PROGRESS。

pstrFileName 參數可以是一個不完整的檔名相對於目前的目錄或已完成。 反斜線 (\) 或正斜線 (/) 可以用來做為目錄分隔符號的任何一個名稱。 OpenFile 轉譯目錄名稱分隔符號的適當字元才能使用它。

覆寫 dwContext 預設設定內容識別項加入至您所選取的值。 內容識別項相關聯的 CInternetSession 物件建立的 CFtpConnection 物件執行特定作業。 值會識別的作業會傳回至 CInternetSession::OnStatusCallback 提供狀態。 請參閱文件 網際網路第一個步驟:WinInet 有關內容識別項的詳細資訊。

需求

Header: afxinet.h

請參閱

參考

CFtpConnection 類別

階層架構圖

CInternetConnection 類別

CFtpConnection::GetFile

CGopherConnection::OpenFile

CInternetFile::Write

CInternetFile::Read