Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie un ou plusieurs en-têtes HTTP personnalisés à inclure dans les requêtes HTTP.
Syntaxe
HRESULT SetCustomHeaders(
[in] LPCWSTR RequestHeaders
);
Paramètres
[in] RequestHeaders
Chaîne terminée par null qui contient les en-têtes personnalisés à ajouter à la requête HTTP. Chaque en-tête doit être arrêté par un retour chariot et un caractère de saut de ligne (CR/LF). La chaîne est limitée à 16 384 caractères, y compris le terminateur Null.
Pour supprimer les en-têtes personnalisés du travail, définissez le paramètre RequestHeaders sur NULL.
Valeur retournée
Le tableau suivant répertorie certaines des valeurs de retour possibles.
| Code de retour | Descriptif |
|---|---|
|
Opération réussie. |
|
La longueur des en-têtes personnalisés est supérieure à 16 Ko. |
|
L’état du travail ne peut pas être BG_JOB_STATE_CANCELLED ou BG_JOB_STATE_ACKNOWLEDGED. |
Remarques
Les en-têtes personnalisés s’appliquent uniquement aux fichiers distants qui utilisent le protocole HTTP ou HTTPS. Vous pouvez spécifier des en-têtes personnalisés pour tous les types de travaux.
Seul le propriétaire du travail peut spécifier des en-têtes personnalisés. Si le travail change de propriété, BITS supprime les en-têtes du travail.
Notez que si plusieurs requêtes HTTP sont envoyées, les en-têtes sont envoyés avec chaque requête.
Un ISAPI qui traite l’en-tête personnalisé peut retourner une erreur HTTP si l’en-tête n’est pas valide. Pour plus d’informations sur la façon dont BITS gère l’erreur, consultez Gestion des erreurs d’application du serveur.
Examples
L’exemple suivant montre comment spécifier des en-têtes personnalisés pour un travail. L’exemple suppose que pJob pointe vers un travail valide.
// 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();
}
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Vista |
| Serveur minimal pris en charge | Windows Server 2008 |
| plateforme cible | Fenêtres |
| Header | bits2_5.h (include Bits.h) |
| Library | Bits.lib |