Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Agrega un único archivo al trabajo.
Syntax
HRESULT AddFile(
[in] LPCWSTR RemoteUrl,
[in] LPCWSTR LocalName
);
Parámetros
[in] RemoteUrl
Cadena terminada en NULL que contiene el nombre del archivo en el servidor. Para obtener información sobre cómo especificar el nombre remoto, vea la sección Miembro RemoteName y Comentarios de la estructura de BG_FILE_INFO .
[in] LocalName
Cadena terminada en NULL que contiene el nombre del archivo en el cliente. Para obtener información sobre cómo especificar el nombre local, vea la sección Miembro LocalName y Comentarios de la estructura de BG_FILE_INFO .
Valor devuelto
Este método devuelve los siguientes valores HRESULT , así como otros.
| Código de retorno | Description |
|---|---|
|
El archivo se agregó correctamente al trabajo. |
|
Cargar trabajos solo puede contener un archivo; no puede agregar otro archivo al trabajo. |
|
La configuración de directiva de grupo MaxFilesPerJob determina cuántos archivos puede contener un trabajo. Agregar el archivo al trabajo supera el límite maxFilesPerJob. |
|
Puede recibir este error por uno de los siguientes motivos:
|
|
El usuario no tiene permiso para escribir en el directorio especificado en el cliente. |
Observaciones
Para agregar más de un archivo a la vez a un trabajo, llame al método IBackgroundCopyJob::AddFileSet . Es más eficaz llamar al método AddFileSet al agregar varios archivos a un trabajo que llamar al método AddFile en un bucle. Para obtener más información, vea Agregar archivos a un trabajo.
Para agregar un archivo a un trabajo desde el que BITS descarga intervalos de datos del archivo, llame al método IBackgroundCopyJob3::AddFileWithRanges .
Cargar trabajos solo puede contener un archivo. Si agrega un segundo archivo, el método devuelve BG_E_TOO_MANY_FILES.
En el caso de las descargas, BITS garantiza que la versión de un archivo (basada en el tamaño y la fecha del archivo, no en el contenido) sea coherente; sin embargo, no garantiza que un conjunto de archivos sea coherente. Por ejemplo, si BITS está en medio de descargar el segundo de dos archivos del trabajo en el momento en que los archivos se actualizan en el servidor, BITS reinicia la descarga del segundo archivo; sin embargo, el primer archivo no se vuelve a descargar.
Tenga en cuenta que si posee el archivo que se va a descargar del servidor, debe crear una nueva dirección URL para cada nueva versión del archivo. Si usa la misma dirección URL para las nuevas versiones del archivo, algunos servidores proxy pueden servir datos obsoletos de su caché porque no comprueban con el servidor original si el archivo está obsoleto.
En el caso de las cargas, BITS genera un error si el archivo local cambia mientras se transfiere el archivo. El código de error es BG_E_FILE_CHANGED y el contexto se BG_ERROR_CONTEXT_LOCAL_FILE.
BITS transfiere los archivos dentro de un trabajo secuencialmente. Si se produce un error al transferir un archivo, el trabajo pasa a un estado de error y no se procesan más archivos dentro del trabajo hasta que se resuelva el error.
De forma predeterminada, un usuario puede agregar hasta 200 archivos a un trabajo. Este límite no se aplica a los administradores ni a las cuentas de servicio. Para cambiar el valor predeterminado, establezca las directivas de grupo MaxFilesPerJob .
Antes de Windows Vista: No hay ningún límite en el número de archivos que un usuario puede agregar a un trabajo.
Para conocer los problemas de escalabilidad, consulte Procedimientos recomendados al usar BITS.
Examples
Para obtener un ejemplo que agrega un único archivo a un trabajo, vea Agregar archivos a un trabajo.
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows XP |
| Servidor mínimo admitido | Windows Server 2003 |
| de la plataforma de destino de | Windows |
| Header | bits.h |
| Library | Bits.lib |
| DLL de |
QmgrPrxy.dll |
Consulte también
IBackgroundCopyJob3::AddFileWithRanges