다음을 통해 공유


WIA 디바이스에서 진단 수행

WIA 서비스는 IStiUSD::D진단 메서드를 호출하여 상태 디바이스의 기능을 테스트할 수 있습니다. WIA 미니드라이버가 하드웨어의 현재 기능 상태를 검사 결과를 보고해야 합니다. WIA 디바이스의 기본 속성 페이지(Microsoft 제공 속성 페이지)에서 "디바이스 테스트" 단추를 누를 때 IStiUSD::D진단 메서드도 호출됩니다.

다음 예제에서는 IStiUSD::D진단 메서드의 구현을 보여 줍니다.

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;
}