次の方法で共有


FtpPutFileA 関数 (wininet.h)

FTP サーバーにファイルを格納します。

構文

BOOL FtpPutFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszLocalFile,
  [in] LPCSTR    lpszNewRemoteFile,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

パラメーター

[in] hConnect

FTP セッションへのハンドル。

[in] lpszLocalFile

ローカル システムから送信されるファイルの名前を含む null で終わる文字列へのポインター。

[in] lpszNewRemoteFile

リモート システムに作成するファイルの名前を含む null で終わる文字列へのポインター。

[in] dwFlags

転送が発生する条件。 アプリケーションでは、1 つの転送の種類と、ファイルのキャッシュの制御方法を制御するフラグを選択する必要があります。

転送の種類には、次のいずれかの値を指定できます。

価値 意味
FTP_TRANSFER_TYPE_ASCII
FTP の ASCII (タイプ A) 転送方法を使用してファイルを転送します。 コントロールと書式設定の情報は、ローカルの同等の情報に変換されます。
FTP_TRANSFER_TYPE_BINARY
FTP のイメージ (タイプ I) 転送方法を使用してファイルを転送します。 ファイルは、変更なしで存在するとおりに転送されます。 これが既定の転送方法です。
FTP_TRANSFER_TYPE_UNKNOWN
既定値は FTP_TRANSFER_TYPE_BINARY です。
INTERNET_FLAG_TRANSFER_ASCII
ファイルを ASCII として転送します。
INTERNET_FLAG_TRANSFER_BINARY
ファイルをバイナリとして転送します。
 

ファイルのキャッシュを制御するには、次の値を使用します。 アプリケーションでは、次の値のうち 1 つ以上を使用できます。

価値 意味
INTERNET_FLAG_HYPERLINK
ネットワークからアイテムを再読み込みするかどうかを決定するときに、有効期限時間がなく、サーバーから LastModified 時刻が返されなかった場合は、強制的に再読み込みを行います。
INTERNET_FLAG_NEED_FILE
ファイルをキャッシュできない場合は、一時ファイルを作成します。
INTERNET_FLAG_RELOAD
要求されたファイル、オブジェクト、またはディレクトリの一覧をキャッシュからではなく、配信元サーバーから強制的にダウンロードします。
INTERNET_FLAG_RESYNCHRONIZE
前回のダウンロード以降にリソースが変更された場合は、HTTP リソースを再読み込みします。 すべての FTP リソースが再読み込みされます。

Windows XP および Windows Server 2003 R2 以前: Gopher リソースも再読み込みされます。

[in] dwContext

この検索を任意のアプリケーション データに関連付けるアプリケーション定義値を含む変数へのポインター。 このパラメーターは、アプリケーションが既に InternetSetStatusCallback 呼び出して状態コールバックを設定している場合にのみ使用されます。

戻り値

成功した場合 TRUE を返し、それ以外の場合は FALSE 返します。 特定のエラー メッセージを取得するには、GetLastError呼び出します。

備考

FtpPutFile は、ファイルをローカルで読み取って FTP サーバーに格納することに関連するすべてのブックキーピングとオーバーヘッドを処理する高レベルのルーチンです。 ファイル データのみを送信する必要があるアプリケーション、またはファイル転送を厳密に制御する必要があるアプリケーションでは、FtpOpenFile を使用し、InternetWriteFile 関数を する必要があります。

dwFlags パラメーターで FILE_TRANSFER_TYPE_ASCIIを指定すると、ファイル データの変換によって、コントロールと書式設定の文字がローカルの同等の文字に変換されます。

lpszNewRemoteFile lpszLocalFile には、現在のディレクトリに対するファイル名の一部または完全修飾を指定できます。

WinINet API の他のすべての側面と同様に、この関数は DllMain またはグローバル オブジェクトのコンストラクターとデストラクターから安全に呼び出すことはできません。

注意 WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、Microsoft Windows HTTP Services (WinHTTP)を使用します。
 

手記

wininet.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして FtpPutFile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

FTP セッション

WinINet Functions の