Metodo IBackgroundCopyJobHttpOptions::SetCustomHeaders (bits2_5.h)
Specifica una o più intestazioni HTTP personalizzate da includere nelle richieste HTTP.
Sintassi
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
Parametri
[in] RequestHeaders
Stringa con terminazione null contenente le intestazioni personalizzate da aggiungere alla richiesta HTTP. Ogni intestazione deve essere terminata da un carattere di ritorno a capo e di feed di riga (CR/LF). La stringa è limitata a 16.384 caratteri, incluso il terminatore Null.
Per rimuovere le intestazioni personalizzate dal processo, impostare il parametro RequestHeaders su NULL.
Valore restituito
Nella tabella seguente sono elencati alcuni dei possibili valori restituiti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
La lunghezza delle intestazioni personalizzate è superiore a 16 KB. |
|
Lo stato del processo non può essere BG_JOB_STATE_CANCELLED o BG_JOB_STATE_ACKNOWLEDGED. |
Commenti
Le intestazioni personalizzate sono applicabili solo ai file remoti che usano il protocollo HTTP o HTTPS. È possibile specificare intestazioni personalizzate per tutti i tipi di processo.
Solo il proprietario del processo può specificare intestazioni personalizzate. Se il processo cambia la proprietà, BITS rimuove le intestazioni dal processo.
Si noti che se vengono inviate più richieste HTTP, le intestazioni vengono inviate con ogni richiesta.
Un ISAPI che elabora l'intestazione personalizzata può restituire un errore HTTP se l'intestazione non è valida. Per informazioni dettagliate sul modo in cui BITS gestisce l'errore, vedere Gestione degli errori dell'applicazione server.
Esempio
Nell'esempio seguente viene illustrato come specificare intestazioni personalizzate per un processo. L'esempio presuppone che pJob punti a un processo valido.
// 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();
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | bits2_5.h (includere Bits.h) |
Libreria | Bits.lib |