BG_FILE_INFO構造体 (bits.h)

転送するファイルのローカル名とリモート名を提供します。

構文

typedef struct _BG_FILE_INFO {
  LPWSTR RemoteName;
  LPWSTR LocalName;
} BG_FILE_INFO;

メンバー

RemoteName

サーバー上のファイルの名前を含む null で終わる文字列 (例: http://< server>/path>/<file.ext)。 名前の形式は、使用する転送プロトコルに準拠している必要があります。 パスまたはファイル名にワイルドカードを使用することはできません。 URL には有効な URL 文字のみを含める必要があります。エスケープ処理は実行されません。 URL は 2,200 文字に制限されており、null ターミネータは含まれません。

URL の各セグメントは、MAX_PATH文字に制限されます。

SMB を使用して、ダウンロードまたはアップロードするファイルのリモート名を表すことができます。アップロード/応答ジョブの SMB サポートはありません。 リモート名を UNC パス、ネットワーク ドライブの完全パスとして指定することも、"file://" プレフィックスを使用することもできます。 BITS 1.5 以前: RemoteName の SMB プロトコルはサポートされていません。

LocalName

クライアント上のファイルの名前を含む Null で終わる文字列。 ファイル名には、完全なパスを含める必要があります (例: d:\myapp\updates\file.ext)。 パスまたはファイル名にワイルドカードを使用することはできません。また、パス内のディレクトリが存在する必要があります。 パスは、null ターミネータを含めず、MAX_PATHに制限されます。

ユーザーは、ダウンロードのためにローカル ディレクトリに書き込むアクセス許可と、アップロード/応答ジョブの応答部分を持っている必要があります。 BITS は NTFS ストリームをサポートしていません。 セッション固有のネットワーク ドライブを使用する代わりに、UNC パス (\server\share\path\file など) を使用します。 \を含めないでください。 パス内のプレフィックス。

注釈

BITS では、 RemoteName の HTTP、HTTPS、SMB プロトコルがサポートされています。 HTTP 要件については、「 BITS ダウンロードの HTTP 要件」を参照してください。

BITS 1.5 以前: RemoteName の SMB プロトコルはサポートされていません。

BITS がファイルのタイム スタンプを伝達するかどうかを次に示します。

  • HTTP ダウンロードの場合、BITS はファイルの変更タイム スタンプを伝達し、ファイルの作成時間を変更時刻に設定します。
  • HTTP アップロードの場合、BITS はファイルのタイム スタンプを伝達しません。
  • SMB のダウンロードとアップロードの場合、BITS はファイルのタイム スタンプを伝達します。
BITS では、名前付きパイプまたはデバイスへの SMB パスはサポートされていません。 SMB を使用してダウンロードされたファイルの所有者と ACL 情報を維持するには、 IBackgroundCopyJob3::SetFileACLFlags メソッドを 呼び出します。

HTTP アップロードおよびアップロード/応答ジョブの URL のパスとファイル名の部分に、クライアントとサーバーの両方のコード ページに共通しない Unicode 文字が含まれている場合、URL 変換はサーバーで失敗し、BITS ジョブはエラー状態になります。 URL のサーバー部分に Unicode 文字が含まれている場合は、 国際化ドメイン名 (IDN) を使用してサーバー部分をエンコードする必要があります。

BITS では、HTTP を使用してダウンロードできるファイルのサイズは制限されません。 アップロードの制限については、 BITSMaximumUploadSize IIS 拡張機能プロパティを参照してください。

IIS 5.0: ダウンロードは 4 GB に制限されています。

BITS 1.2 以前: HTTP ダウンロードの場合、転送できる最大ファイル サイズは 4 GB です。BITS は、4 GB を超えるファイルの正常な転送を保証できません。 URL に US-ASCII 文字セットに含まれていない Unicode 文字が含まれている場合は、リモート ファイル名として BITS に渡す前に、UNICODE 文字列を UTF-8 でエンコードします。 文字列をエンコードしない場合、HTTP サーバーが正しくない URL を受け取り、ジョブがエラー状態になる可能性があります。

要件

要件
サポートされている最小のクライアント Windows XP
サポートされている最小のサーバー Windows Server 2003
Header bits.h

こちらもご覧ください

IBackgroundCopyFile2::SetRemoteName

IBackgroundCopyFile::GetLocalName

IBackgroundCopyFile::GetRemoteName

IBackgroundCopyJob3::ReplaceRemotePrefix

IBackgroundCopyJob::AddFileSet