⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 ReactOS是一些高手根据Windows XP的内核编写出的类XP。内核实现机理和API函数调用几乎相同。甚至可以兼容XP的程序。喜欢研究系统内核的人可以看一看。
💻
字号:
----- Old Corel README, probably outdated ----------------------------------
1. INTRODUCTION

This library (twain32.dll) is an implementation of TWAIN API for providing image acquisition devices (scanner or digital camera) support.  It uses SANE drivers as the backend and translates TWAIN API calls into SANE API calls.  Unlike the twain32 library on Windows platform, it combines the Data Source Manager and Data Sources into a single library.  Thus it is our responsiblity to provide a graphical user interface and capability negotiation, which usually are performed by data sources.


2. WHAT'S IMPLEMENTED

- Functions that dispatch operations specified by the operation triplets to the coresponding function.

- All the operation triplets related to the Data Source Manager are implemented.  Appplication is able to enumerate data sources and open them.

- The operation triplets that deal with the UI (such as DG_CONTROL/DAT_USERINTERFACE/MSG_ENABLEDS, MSG_DISABLEDS and MSG_ENABLEDSUIONLY) are partially implemented although it does not really do much.

- The operation triplets that deal with native image transfering (DG_IMAGE/DAT_IMAGENATIVEXFER/MSG_GET) are also partially implemented.  Still need to figure out how to convert the image data obtained from sane to the Windows DIB format.

-  Only the CAP_ICAPXFERMECH capability is implemented.


3. TO-DO

- Image native transfer is not working correctly right now.  It crashed the application due to the invalid DIB created.  We need to fix this.

- Implement other image transfer mode such as file transfer and memory transfer.

- Support all required TWAIN capabilities that have not been implemented currently.  There are a fixed number of capabilities specified by the TWAIN Specification.  However, device capabilities are dynamic in SANE and there isn't a standard about the capability names.  It would be difficult to negotiate capabilities in TWAIN given that we don't know what capabilities a SANE driver would provide.  One possible solution to use a device configuration file to describe the mapping between capabilities supported by a SANE driver and those specified by TWAIN.   
- Build a dynamic user interface that reflects the capabilities of different scanner devices.  According to the TWAIN specification, each TWAIN driver need to provide its own user interface.  However the SANE drivers do not have graphical frontends.  Building a frontend for each SANE driver is a huge task.  It is possible to have a dynamic frontend similar to xscanimage or xsane that works for all the devices.  This is possibly the most difficult part. 

- check into legal issues regarding:
  - TWAIN header file
  - linking to SANE (maybe should dynamically link at run time?)

- add autoconf rules for enabling based on whether sane is installed

4. FILE LISTING

twain32_main.c          Functions to regconize operation tripets and dispatch
                        the requests to the corresponding functions.
dsm_ctrl.c		Implementation of DG_CONTROL group operation triplets
                        destinated for source manager.
ds_ctrl.c               Implementation of DG_CONTROL group operation triplets
                        destinated for data source.
ds_image.c              Implementation of DG_IMAGE group operation triplets
                        destinated for data source.
ds_audio.c              Implementation of DG_AUDIO group operation triplets
                        destinated for data source
capability.c            Functions for negotiating capabilities
twain.h			The original TWAIN header file
twain_i.h		Header file for the internal twain functions	


--
Shi Quan He
shiquan@cyberdude.com

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -