Méthode IQueryRecentWinSATAssessment ::get_Info (winsatcominterfacei.h)
[IQueryRecentWinSATAssessment ::Info peut être modifié ou indisponible pour les versions après Windows 8.1.]
Récupère une interface qui fournit des informations sur les résultats de l’évaluation formelle la plus récente, par exemple, le score de base et la date d’exécution de l’évaluation.
Cette propriété est en lecture seule.
Syntaxe
HRESULT get_Info(
IProvideWinSATResultsInfo **ppWinSATAssessmentInfo
);
Paramètres
ppWinSATAssessmentInfo
Valeur de retour
None
Remarques
Pour récupérer des informations récapitulatives pour un sous-composant de l’évaluation, appelez la méthode IProvideWinSATResultsInfo ::GetAssessmentInfo .
Exemples
L’exemple suivant montre comment obtenir les informations récapitulatives de l’évaluation formelle la plus récente. L’exemple obtient la date d’évaluation, le score de base et les informations d’état.
#include <windows.h>
#include <stdio.h>
#include <winsatcominterfacei.h>
#pragma comment(lib, "ole32.lib")
#pragma comment(lib, "oleaut32.lib")
void main(void)
{
HRESULT hr = S_OK;
IQueryRecentWinSATAssessment* pAssessment;
IProvideWinSATResultsInfo* pResults = NULL;
float baseScore = 0.0;
WINSAT_ASSESSMENT_STATE state;
VARIANT vAssessmentDate;
SYSTEMTIME st;
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
// Get an instance to the most recent formal assessment.
hr = CoCreateInstance(__uuidof(CQueryWinSAT),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IQueryRecentWinSATAssessment),
(void**)&pAssessment);
if (FAILED(hr))
{
wprintf(L"Failed to create an instance of IQueryRecentWinSATAssessment. Failed with 0x%x.\n", hr);
goto cleanup;
}
// Get the summary information for the assessment.
hr = pAssessment->get_Info(&pResults);
if (FAILED(hr))
{
wprintf(L"pAssessment->get_Info failed with 0x%x.\n", hr);
goto cleanup;
}
// Get the state of the assessment. If the state is valid,
// print the date of the assessment and the base score.
hr = pResults->get_AssessmentState(&state);
if (FAILED(hr))
{
wprintf(L"pResults->get_AssessmentState failed with 0x%x.\n", hr);
goto cleanup;
}
switch(state)
{
case WINSAT_ASSESSMENT_STATE_UNKNOWN:
wprintf(L"The state of the assessment is unknown.\n");
break;
case WINSAT_ASSESSMENT_STATE_VALID:
case WINSAT_ASSESSMENT_STATE_INCOHERENT_WITH_HARDWARE:
hr = pResults->get_AssessmentDateTime(&vAssessmentDate);
if (FAILED(hr))
{
wprintf(L"pResults->get_AssessmentDateTime failed with 0x%x.\n", hr);
break;
}
VariantTimeToSystemTime(vAssessmentDate.dblVal, &st);
wprintf(L"Assessment ran on %2d/%2d/%2d at %2d:%2d\n",
st.wMonth, st.wDay, st.wYear, st.wHour, st.wMinute);
hr = pResults->get_SystemRating(&baseScore);
if (SUCCEEDED(hr))
{
wprintf(L"The base score for the computer is %.1f\n", baseScore);
if (WINSAT_ASSESSMENT_STATE_INCOHERENT_WITH_HARDWARE == state)
{
wprintf(L"Note that the hardware configuration of the computer has changed\n"
L"since the assessment was run; the score reflects the prior configuration.");
}
}
else
{
wprintf(L"pResults->get_SystemRating failed with 0x%x.\n", hr);
}
break;
case WINSAT_ASSESSMENT_STATE_NOT_AVAILABLE:
wprintf(L"A formal assessment has not run on the computer.\n");
break;
case WINSAT_ASSESSMENT_STATE_INVALID:
wprintf(L"The assessment data is not valid.\n");
break;
default:
wprintf(L"The assessment state value is not valid.\n");
}
cleanup:
if (pAssessment)
pAssessment->Release();
if (pResults)
pResults->Release();
VariantClear(&vAssessmentDate);
CoUninitialize();
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Aucun pris en charge |
Plateforme cible | Windows |
En-tête | winsatcominterfacei.h |
DLL | Winsatapi.dll |