IQueryRecentWinSATAssessment::get_Info 方法 (winsatcominterfacei.h)
[IQueryRecentWinSATAssessment::Info 可能會在 Windows 8.1 之後變更或無法使用版本。
擷取介面,提供最新正式評定結果的相關信息,例如,基底分數,以及評估的執行日期。
這個屬性是唯讀的。
語法
HRESULT get_Info(
IProvideWinSATResultsInfo **ppWinSATAssessmentInfo
);
參數
ppWinSATAssessmentInfo
傳回值
無
備註
若要擷取評量子元件的摘要資訊,請呼叫 IProvideWinSATResultsInfo::GetAssessmentInfo 方法。
範例
下列範例示範如何取得最新正式評定的摘要資訊。 此範例會取得評量日期、基底分數和狀態資訊。
#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();
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | 都不支援 |
目標平台 | Windows |
標頭 | winsatcominterfacei.h |
Dll | Winsatapi.dll |