次の方法で共有


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 (A 型) のコピーのメソッドを使用して、ファイル転送。変換と書式情報はローカルな等価になります。

    • FTP_TRANSFER_TYPE_BINARY FTP のイメージ (型 I) のコピーのメソッドを使用して、ファイル転送するデータ。そのように、ファイル転送に、データの変更はありません。これは、既定のコピーのメソッドです。

  • dwContext
    ファイルを開くためのコンテキストの識別子。dwContextに関する詳細については、[コメント] を参照してください。

戻り値

CInternetFile オブジェクトへのポインター。

解説

OpenFile は、次の場合に使用する必要があります:

  • アプリケーションに FTP サーバー上のファイルとして送信され、作成する必要があるデータがローカル ファイルにないデータがあります。OpenFile がファイルを開くと、アプリケーションは FTP サーバーにファイルのデータを送信するために CInternetFile::Write を使用します。

  • アプリケーションは、サーバーからファイルを取得し、アプリケーション制御のメモリに書き込む代わりにディスクに設定する必要があります。アプリケーションがファイルを開くために OpenFile を使用すると CInternetFile::Read を使用します。

  • アプリケーションは、ファイル転送に細かく管理制御が必要です。たとえば、アプリケーションがファイルをダウンロードしながら説明しますファイル転送の状態の進行状況をプログレス コントロールを表示することもできます。

までの OpenFile を呼び出すことと CInternetConnection::Closeを呼び出した後、アプリケーションは CInternetFile::ReadCInternetFile::WriteCInternetConnection::Close、または CFtpFileFind::FindFileしか呼び出すことができません。FTP 同じセッションの他の FTP の関数の呼び出しは FTP_ETRANSFER_IN_PROGRESS に失敗し、エラー コードを設定します。

pstrFileName のパラメーターは現在のディレクトリに対して相対的または完全修飾部分修飾ファイル名のいずれかです。円記号 (\) またはスラッシュは、いずれかの名前のディレクトリの区切り記号として (/) を使用できます。OpenFile は、適切な文字に、使用する前にディレクトリ名の区切りをに変換します。

任意の値にコンテキストの識別子を設定するに dwContext の既定値をオーバーライドします。コンテキストの識別子は CInternetSession のオブジェクトによって作成された CFtpConnection のオブジェクトの特定の操作に関連付けられます。値は CInternetSession::OnStatusCallback に識別される操作で状態を提供するために戻ります。コンテキストの識別子の詳細については、" " インターネットの対処方法: WinInet を参照してください。

必要条件

ヘッダー: afxinet.h

参照

関連項目

CFtpConnection クラス

階層図

CInternetConnection クラス

CFtpConnection::GetFile

CGopherConnection::OpenFile

CInternetFile::Write

CInternetFile::Read