Proporcionar una interfaz IStiUSD
WIA se basa en STI. Para garantizar la integración de un minidriver WIA con STI, el minidriver debe implementar una interfaz derivada de los métodos de interfaz IStiUSD. Esta interfaz debe estar presente en un minidriver WIA. La interfaz IStiUSD se usa para administrar dispositivos (como cargar un controlador) y es el medio por el que los métodos de interfaz IStiDevice se comunican con dispositivos de imagen todavía. Un minidriver debe implementar completamente una interfaz derivada del método IStiUSD::Initialize para poder cargarla el servicio WIA.
Normalmente, los métodos de interfaz IStiUSD se llaman mediante métodos con nombre similares definidos por la interfaz IStiDevice . Los minidrivers suelen implementar métodos de interfaz IStiUSD mediante una llamada al controlador en modo kernel adecuado. Cada minidriver debe definir todos los métodos de interfaz, pero si un método no es necesario, simplemente puede devolver STIERR_UNSUPPORTED.
Vea el archivo de minidriver de muestra de cámara wiacam , IStiUSD.cpp, para obtener un ejemplo de cómo un minidriver implementa la interfaz IStiUSD .
En la tabla siguiente se enumeran y describen todos los métodos definidos por la interfaz IStiUSD . Se identifican los métodos que deben implementarse o implementarse condicionalmente mediante minidrivers WIA.
Método | Descripción |
---|---|
IStiUSD::D eviceReset | Restablece un dispositivo de imagen fija a un estado inicializado conocido. |
IStiUSD::D iagnostic | Ejecuta pruebas de diagnóstico en un dispositivo de imagen fija. Un minidriver WIA debe implementar este método. |
IStiUSD::Escape | Realiza una operación de E/S específica del proveedor en un dispositivo de imagen fija. |
IStiUSD::GetCapabilities | Devuelve las funcionalidades de un dispositivo de imagen fija. |
IStiUSD::GetLastErrorInfo | Devuelve información sobre el último error conocido asociado a un dispositivo de imagen fija. |
IStiUSD::GetNotificationData | Devuelve una descripción del evento más reciente que se produjo en un dispositivo de imagen fija. |
IStiUSD::GetStatus | Devuelve el estado de un dispositivo de imagen fija. Un minidriver WIA debe implementar este método si su dispositivo tiene objetos, como botones, que pueden generar eventos. |
IStiUSD::Initialize | Inicializa una instancia del objeto COM que define la interfaz IStiUSD. Un minidriver WIA debe implementar este método. |
IStiUSD::LockDevice | Bloquea un dispositivo para su uso exclusivo por parte del autor de la llamada. Un minidriver WIA debe implementar este método. |
IStiUSD::RawReadCommand | Lee la información de comandos de un dispositivo de imagen fija. |
IStiUSD::RawReadData | Lee datos de un dispositivo de imagen fija. |
IStiUSD::RawWriteCommand | Escribe información de comandos en un dispositivo de imagen fija. |
IStiUSD::RawWriteData | Escribe datos en un dispositivo de imagen fija. |
IStiUSD::SetNotificationHandle | Especifica un identificador de eventos que el minidriver debe usar para informar al autor de la llamada de los eventos del dispositivo. Un minidriver WIA debe implementar este método si su dispositivo tiene objetos, como botones, que pueden generar eventos. |
IStiUSD::UnLockDevice | Cierra el puerto del dispositivo. Un minidriver WIA debe implementar este método. |