Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica um programa a ser executado se o trabalho entrar no estado BG_JOB_STATE_ERROR ou BG_JOB_STATE_TRANSFERRED . O BITS executa o programa no contexto do usuário que chamou esse método.
Sintaxe
HRESULT SetNotifyCmdLine(
[in] LPCWSTR Program,
[in] LPCWSTR Parameters
);
Parâmetros
[in] Program
Cadeia de caracteres terminada em nulo que contém o programa a ser executado. O parâmetro pProgram é limitado a MAX_PATH caracteres, não incluindo o terminador nulo. Você deve especificar um caminho completo para o programa; o método não usará o caminho de pesquisa para localizar o programa.
Para remover a notificação de linha de comando, defina pProgram e pParameters como NULL. O método falhará se pProgram for NULL e pParameters não for NULL.
[in] Parameters
Cadeia de caracteres terminada em nulo que contém os parâmetros do programa no pProgram. O primeiro parâmetro deve ser o programa no pProgram (use aspas se o caminho usar nomes de arquivo longos). O parâmetro pParameters é limitado a 4.000 caracteres, sem incluir o terminador nulo. Esse parâmetro pode ser NULL.
Valor de retorno
Esse método retorna os seguintes valores HRESULT , bem como outros.
| Código de retorno | Description |
|---|---|
|
Êxito. |
|
O estado do trabalho não pode ser BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED. |
|
A cadeia de caracteres pProgram ou pParameters é muito longa. |
Observações
O BITS chama a função CreateProcessAsUser para iniciar o programa.
Seu programa deve retornar um código de saída de zero. Se o programa não retornar um código de saída zero, o BITS verificará o estado do trabalho. Se o programa não cancelou ou concluiu o trabalho, o BITS chamará o programa novamente após o atraso mínimo de repetição especificado para o trabalho expirar.
BITS 1.5 e anteriores: O BITS chama o programa apenas uma vez.
Para executar um script, especifique WScript.exe (inclua o caminho completo para WScript.exe) no pProgram. O parâmetro pParameters deve incluir WScript.exe, o nome do script e quaisquer argumentos.
Se o programa exigir informações relacionadas ao trabalho, você deverá passar essas informações como argumentos. Não inclua variáveis de ambiente, como %system32%, em pProgram ou pParameters , elas não são expandidas.
Você deve incluir o caminho completo para o programa. Se qualquer um dos argumentos em pParameters incluir um caminho que usa nomes de arquivo longos, como o nome do módulo, use aspas ao redor do caminho.
Se o programa que você deseja executar usar o arquivo de resposta ou download, o programa deverá chamar o método IBackgroundCopyJob::Complete para disponibilizar os arquivos para o cliente.
Chame o método IBackgroundCopyJob::SetNotifyFlags para especificar quando executar o programa. Você pode solicitar a execução da linha de comando apenas para eventos de erro de trabalho ou transferidos, não eventos de modificação de trabalho. Observe que o BITS ainda executa a linha de comando mesmo se você chamar o método SetNotifyCmdLine após a ocorrência do evento.
Se o trabalho BITS estiver em um contexto de conta de serviço (ou seja, networkservice/localsystem/localservice), nenhuma forma de retorno de chamada de linha de comando será executada.
Se você chamar o método SetNotifyCmdLine e o método IBackgroundCopyJob::SetNotifyInterface , o BITS executará a linha de comando somente se a interface de notificação se tornar inválida ou o método de notificação chamado pelo BITS retornar um código de falha. Por exemplo, se o método de notificação que o BITS chama retornar um E_FAIL, o BITS executará a linha de comando. No entanto, se o método de notificação retornar S_OK, o BITS não executará a linha de comando. Se o método de notificação e a solicitação de execução de linha de comando falharem, o BITS enviará a notificação novamente após o período mínimo de repetição expirar.
Observe que chamar o método IBackgroundCopyJob::TakeOwnership remove a notificação de linha de comando do trabalho.
Exemplos
Para obter um exemplo que chama o método SetNotifyCmdLine , consulte Registring to Execute a Program.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista |
| Servidor mínimo compatível | Windows Server 2003 |
| da Plataforma de Destino | Windows |
| Header | bits1_5.h (inclua Bits.h) |
| Library | Bits.lib |
| de DLL | BitsPrx2.dll |
| Redistribuível | BITS 1.5 no Windows XP |
Consulte também
IBackgroundCopyJob2::GetNotifyCmdLine