wine / Linux kernel, TWAIN and STI: explained

Damjan Jovanovic dj015 at yahoo.com
Fri Oct 21 03:44:21 CDT 2005



--- Dan Kegel <daniel.r.kegel at gmail.com> wrote:

> On 10/20/05, Damjan Jovanovic <dj015 at yahoo.com>
> wrote:
> > *Changed CreateFile() to check for \\.\USBSCAN...,
> and
> > if so open /dev/USBSCAN... instead of calling
> > VXD_Open(). Then it does
> wine_server_fd_to_handle().
> > ...
> > The kernel module behaves just like USBSCAN.SYS,
> > reading and writing do raw USB bulk pipe reads and
> > writes, and the ioctl's mostly do USB control pipe
> > operations.
> >
> > And I made a thin little STI.DLL, just the bare
> > minimum (my scanner driver only uses
> > IStillImage::GetDeviceList() and
> > IStillImage::GetDeviceValue()).
> 
> Sounds pretty cool!  When will you post the sources?

When my exams are over and I have some time to turn
the hacks into semi-decent code (ie. 2-3 weeks).
 
> > Now, back to my original questions: how do I
> > generalise the kernel module to work with more
> > scanners (it's currently hardcoded for my
> scanner)? I
> > need access to wine's registry / SetupAPI to know
> > which scanners are installed.
> 
> You might have to have a userspace winelib daemon
> listening for requests from the kernel, and
> fulfilling
> them by calling the registry API.
> 

I had a brief look at the Windows 2000 STI.DLL import
table: most of the SetupAPI functions it uses are
stubs on wine :-(. It seems a lot of work to implement
them too: there are handles to various structures etc.
Anyone in the mood?




		
__________________________________ 
Start your day with Yahoo! - Make it your home page! 
http://www.yahoo.com/r/hs



More information about the wine-devel mailing list