Manipulando erros de aplicativo do servidor
Se o aplicativo de servidor processar com êxito o arquivo carregado, o aplicativo deverá retornar 200. Se o aplicativo não retornar 200, o cliente BITS usará o código de erro para determinar se o erro é um erro transitório ou fatal.
Todos os códigos de erro 3xx são erros transitórios, exceto 300 - 305 e 307, que são erros fatais. Todos os códigos de erro 4xx são erros fatais, exceto 408 e 409, que são erros transitórios. Todos os códigos de erro 5xx são erros transitórios, exceto 501 e 505, que são erros fatais. Todos os outros códigos HTTP são considerados erros transitórios. Observe que um código de erro 403 é o único código de erro que impede o BITS de lançar o arquivo de upload no aplicativo do servidor novamente.
Para recuperar o erro, chame o método IBackgroundCopyError::GetError . O contexto de erro será BG_ERROR_CONTEXT_REMOTE_APPLICATION.