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은 null 종결자를 포함하지 않고 2,200자로 제한됩니다.
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는 파일의 타임스탬프를 전파합니다.
HTTP 업로드 및 업로드-회신 작업에 대한 URL의 경로 및 파일 이름 부분에 클라이언트와 서버의 코드 페이지에 공통적이지 않은 유니코드 문자가 포함되어 있으면 서버에서 URL 변환이 실패하고 BITS 작업이 오류 상태로 배치됩니다. URL의 서버 부분에 유니코드 문자가 포함된 경우 IDN( Internationalized Domain Names )을 사용하여 서버 부분을 인코딩해야 합니다.
BITS는 HTTP를 사용하여 다운로드할 수 있는 파일의 크기를 제한하지 않습니다. 업로드 제한은 BITSMaximumUploadSize IIS 확장 속성을 참조하세요.
IIS 5.0: 다운로드는 4GB로 제한됩니다.
BITS 1.2 이하: HTTP 다운로드의 경우 전송할 수 있는 최대 파일 크기는 4GB입니다. BITS는 4GB를 넘는 파일의 성공적인 전송을 보장할 수 없습니다. URL에 US-ASCII 문자 집합에 없는 유니코드 문자가 포함된 경우 원격 파일 이름으로 BITS에 전달하기 전에 유니코드 문자열을 UTF-8로 인코딩합니다. 문자열을 인코딩하지 않으면 HTTP 서버에서 잘못된 URL을 수신할 수 있으며 작업이 오류 상태를 입력할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
머리글 | bits.h |
추가 정보
IBackgroundCopyFile2::SetRemoteName
IBackgroundCopyFile::GetLocalName
IBackgroundCopyFile::GetRemoteName