IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Quelle est la technologie qui permet d'envoyer des rapports d'erreurs à Microsoft, lorsqu'une application est défaillante ?

Toutes les semaines un peu de code pour aller plus loin avec Windows 7

Retrouvez l'intégralité des questions / réponses sur le développement sous Windows 7 dans l'article suivant.

Commentez cet article : 41 commentaires Donner une note à l´article (5)

Article lu   fois.

Les deux auteurs

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Quelle est la technologie qui permet d'envoyer des rapports d'erreurs à Microsoft, lorsqu'une application est défaillante ?

Windows Error Reporting, est une fonctionnalité de Windows qui permet à l'utilisateur de notifier Microsoft via le site http://winqual.microsoft.com des erreurs de l'application, des erreurs du noyau ou de tout type d'erreurs. Microsoft, est en mesure alors d'utiliser cette fonctionnalité pour fournir des solutions à l'utilisateur. Les développeurs peuvent utiliser cette infrastructure et recevoir des informations afin d'améliorer leurs applications.

Lorsqu'une application est défaillante, Windows Error Reporting fait apparaître ce type de boîte de dialogue.

Image non disponible
Exemple de création de rapport
Sélectionnez
HRESULT hr=S_OK;
hr=WerReportCreate(eventType, WerReportCritical,
        &werReportInformation, &m_hReportHandle) 

DWORD submitOptions =  WER_SUBMIT_OUTOFPROCESS | WER_SUBMIT_HONOR_RESTART |
WER_SUBMIT_HONOR_RECOVERY;

WER_SUBMIT_RESULT submitResult;
hr=::WerReportSubmit(m_hReportHandle, WerConsentNotAsked, submitOptions, &submitResult);

    if (SUCCEEDED(hr)) 
  {
      switch(submitResult)
      {
      case WerDisabled:
          break;
         ///
      case WerReportFailed :
          ::MessageBox (0,L"Impossible d'envoyer le rapport",L"Envoi du rapport",0);    
          break;
      case WerReportCancelled:
            ::MessageBox (0,L"Rapport annulé",L"Envoi du rapport",0);    
            break;
      case WerReportUploaded :
          ::MessageBox (0,L"Rapport envoyé",L"Envoi du rapport",0);    
        break;
      case WerReportDebug:
          ::MessageBox (0,L"Debug",L"Envoi du rapport",0);    
          break;
      default:
          break;

      }
    }
  WerReportCloseHandle (m_hReportHandle);
}

Il est possible également de modifier les messages à afficher.

Image non disponible

Pour plus d'infos

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2011 Microsoft MSDN France. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.