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.
Récupère l’interface d’erreur après qu’une erreur se produit.
BITS génère un objet d’erreur lorsque l’état du travail est BG_JOB_STATE_ERROR ou BG_JOB_STATE_TRANSIENT_ERROR. Le service ne crée pas d’objet d’erreur lorsqu’un appel à une méthode d’interface IBackgroundCopyXXXX échoue. L’objet d’erreur est disponible jusqu’à ce que BITS commence à transférer des données (l’état du travail passe à BG_JOB_STATE_TRANSFERRING) pour le travail ou jusqu’à ce que votre application se termine.
Syntaxe
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Paramètres
[out] ppError
Interface d’erreur qui fournit le code d’erreur, une description de l’erreur et le contexte dans lequel l’erreur s’est produite. Ce paramètre identifie également le fichier transféré au moment où l’erreur s’est produite. Relâchez ppError lorsque vous avez terminé.
Valeur retournée
Cette méthode retourne les valeurs HRESULT suivantes, ainsi que d’autres.
| Code de retour | Descriptif |
|---|---|
|
A généré l’objet d’erreur. |
|
L’interface d’erreur est disponible uniquement après qu’une erreur se produit (BG_JOB_STATE_ERROR ou BG_JOB_STATE_TRANSIENT_ERROR) et avant que BITS ne commence à transférer des données (BG_JOB_STATE_TRANSFERRING). |
Remarques
Le travail est placé dans un état d’erreur sur des erreurs irrécupérables ou après l’expiration de la période d’expiration du délai d’expiration pour les erreurs temporaires (cette période est récupérée à partir de la méthode GetNoProgressTimeout ). Utilisez l’une des options suivantes pour déterminer si le travail est en erreur :
- Pour interroger l’état du travail, appelez la méthode IBackgroundCopyJob ::GetState . Le travail est en erreur si l’état est BG_JOB_STATE_ERROR.
- Pour recevoir une notification lorsqu’une erreur se produit, implémentez l’interface IBackgroundCopyCallback (en particulier, la méthode JobError ). Ensuite, appelez la méthode IBackgroundCopyJob ::SetNotifyInterface pour inscrire le rappel et la méthode IBackgroundCopyJob ::SetNotifyFlags pour définir l’indicateur BG_NOTIFY_JOB_ERROR.
- Pour annuler le travail, appelez la méthode IBackgroundCopyJob ::Cancel .
- Pour enregistrer les fichiers transférés correctement avant l’erreur, appelez la méthode IBackgroundCopyJob ::Complete .
- Pour terminer le traitement du travail, corrigez le problème, puis appelez la méthode IBackgroundCopyJob ::Resume .
Pour déterminer si la partie chargement, réponse ou application serveur d’un travail de chargement-réponse a échoué, appelez la méthode IBackgroundCopyError ::GetError pour récupérer le contexte dans lequel l’erreur s’est produite. L’application serveur a échoué si le contexte est BG_ERROR_CONTEXT_REMOTE_APPLICATION. Si l’erreur est liée au chargement ou à la réponse, le contexte est BG_ERROR_CONTEXT_REMOTE_FILE. Échec du chargement si le membre BytesTotal de la structure BG_JOB_REPLY_PROGRESS est BG_SIZE_UNKNOWN. Sinon, la réponse a échoué.
Examples
Consultez l’exemple de code dans la rubrique Gestion des erreurs .
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows XP |
| Serveur minimal pris en charge | Windows Server 2003 |
| plateforme cible | Fenêtres |
| Header | bits.h |
| Library | Bits.lib |
| DLL | QmgrPrxy.dll |