Méthode IBackgroundCopyJobHttpOptions ::SetCustomHeaders (bits2_5.h)
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 terminé par un caractère de retour chariot et de flux de ligne (CR/LF). La chaîne est limitée à 16 384 caractères, y compris la fin 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 | Description |
---|---|
|
Réussite. |
|
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.
Une ISAPI qui traite l’en-tête personnalisé peut renvoyer 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 serveur.
Exemples
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();
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | bits2_5.h (include Bits.h) |
Bibliothèque | Bits.lib |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour