Método IBackgroundCopyJobHttpOptions::SetCustomHeaders (bits2_5.h)
Especifica uno o varios encabezados HTTP personalizados que se van a incluir en las solicitudes HTTP.
Sintaxis
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
Parámetros
[in] RequestHeaders
Cadena terminada en NULL que contiene los encabezados personalizados que se van a anexar a la solicitud HTTP. Cada encabezado debe terminar con un carácter de retorno de carro y avance de línea (CR/LF). La cadena está limitada a 16 384 caracteres, incluido el terminador nulo.
Para quitar los encabezados personalizados del trabajo, establezca el parámetro RequestHeaders en NULL.
Valor devuelto
En la tabla siguiente se enumeran algunos de los posibles valores devueltos.
Código devuelto | Descripción |
---|---|
|
Correcto. |
|
La longitud de los encabezados personalizados es superior a 16 KB. |
|
El estado del trabajo no puede ser BG_JOB_STATE_CANCELLED ni BG_JOB_STATE_ACKNOWLEDGED. |
Comentarios
Los encabezados personalizados solo son aplicables a los archivos remotos que usan el protocolo HTTP o HTTPS. Puede especificar encabezados personalizados para todos los tipos de trabajo.
Solo el propietario del trabajo puede especificar encabezados personalizados. Si el trabajo cambia de propiedad, BITS quita los encabezados del trabajo.
Tenga en cuenta que si se envían varias solicitudes HTTP, los encabezados se envían con cada solicitud.
Una ISAPI que procesa el encabezado personalizado puede devolver un error HTTP si el encabezado no es válido. Para obtener más información sobre cómo BITS controla el error, consulte Control de errores de aplicación del servidor.
Ejemplos
En el ejemplo siguiente se muestra cómo especificar encabezados personalizados para un trabajo. En el ejemplo se supone que pJob apunta a un trabajo 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();
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | bits2_5.h (incluir Bits.h) |
Library | Bits.lib |