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 ou mais cabeçalhos HTTP personalizados a serem incluídos em solicitações HTTP.
Sintaxe
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
Parâmetros
[in] RequestHeaders
Cadeia de caracteres terminada em nulo que contém os cabeçalhos personalizados a serem acrescentados à solicitação HTTP. Cada cabeçalho deve ser encerrado por um caractere CR/LF (retorno de carro e alimentação de linha). A cadeia de caracteres é limitada a 16.384 caracteres, incluindo o terminador nulo.
Para remover os cabeçalhos personalizados do trabalho, defina o parâmetro RequestHeaders como NULL.
Valor de retorno
A tabela a seguir lista alguns dos possíveis valores retornados.
| Código de retorno | Description |
|---|---|
|
Êxito. |
|
O comprimento dos cabeçalhos personalizados é de mais de 16 KB. |
|
O estado do trabalho não pode ser BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED. |
Observações
Os cabeçalhos personalizados são aplicáveis somente a arquivos remotos que usam o protocolo HTTP ou HTTPS. Você pode especificar cabeçalhos personalizados para todos os tipos de trabalho.
Somente o proprietário do trabalho pode especificar cabeçalhos personalizados. Se o trabalho alterar a propriedade, o BITS removerá os cabeçalhos do trabalho.
Observe que, se várias solicitações HTTP forem enviadas, os cabeçalhos serão enviados com cada solicitação.
Um ISAPI que processa o cabeçalho personalizado poderá retornar um erro HTTP se o cabeçalho não for válido. Para obter detalhes sobre como o BITS lida com o erro, consulte Tratamento de erros de aplicativo do servidor.
Exemplos
O exemplo a seguir mostra como especificar cabeçalhos personalizados para um trabalho. O exemplo pressupõe que pJob aponta para um trabalho válido.
// Custom headers to include in job.
#define HEADERS L"MyHeader_1: Header One Value\r\n" \
L"MyHeader_2: Header Two Value\r\n" \
L"MyHeader_3: Header Three Value\r\n"
HRESULT hr = S_OK;
IBackgroundCopyJob* pJob = NULL;
IBackgroundCopyJobHttpOptions* pHttpOptions = NULL;
hr = pJob->QueryInterface(__uuidof(IBackgroundCopyJobHttpOptions), (void**)&pHttpOptions);
pJob->Release();
if (FAILED(hr))
{
wprintf(L"pJob->QueryInterface failed with 0x%x.\n", hr);
goto cleanup;
}
hr = pHttpOptions->SetCustomHeaders(HEADERS);
if (FAILED(hr))
{
wprintf(L"pHttpOptions->SetCustomHeaders failed with 0x%x.\n", hr);
goto cleanup;
}
cleanup:
if (pHttpOptions)
{
hr = pHttpOptions->Release();
}
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista |
| Servidor mínimo compatível | Windows Server 2008 |
| da Plataforma de Destino | Windows |
| Header | bits2_5.h (incluir Bits.h) |
| Library | Bits.lib |