Compartir a través de


Realización de diagnósticos en un dispositivo WIA

El servicio WIA puede probar el estado de funcionalidad de un dispositivo llamando al método IStiUSD::D gnostic . El minidriver WIA debe comprobar el estado funcional actual del hardware e informar de los resultados. También se llama al método IStiUSD::D iagnostic cuando se presiona el botón "Dispositivo de prueba" en la página de propiedades predeterminada del dispositivo WIA (la página de propiedades proporcionada por Microsoft).

En el ejemplo siguiente se muestra una implementación del método 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;
}