在 WIA 裝置上執行診斷
WIA 服務可以呼叫 IStiUSD::D iagnostic 方法來測試裝置的功能狀態。 WIA 迷你驅動程式應該檢查硬體目前的功能狀態,並報告結果。 在 WIA 裝置的預設屬性頁面上按下 [測試裝置] 按鈕時,也會呼叫 IStiUSD::D iagnostic 方法, (Microsoft 提供的屬性頁) 。
下列範例示範 IStiUSD::D iagnostic 方法的實作。
STDMETHODIMP CWIADevice::Diagnostic(LPSTI_DIAG pBuffer)
{
//
// If the caller did not pass in the correct parameters,
// then fail the call with E_INVALIDARG.
//
if(!pBuffer){
return E_INVALIDARG;
}
//
// initialize response buffer
//
memset(&pBuffer->sErrorInfo,0,sizeof(pBuffer->sErrorInfo));
pBuffer->sErrorInfo.dwGenericError = NOERROR;
pBuffer->sErrorInfo.dwVendorError = 0;
HRESULT hr = S_OK;
if(!TestMyDeviceFunctionalty()) {
pBuffer->sErrorInfo.dwGenericError = E_FAIL; // win32 generic error code
pBuffer->sErrorInfo.dwVendorError = 1234; // device specific vendor error code
}
return hr;
}