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 :