wine / Linux kernel, TWAIN and STI: explained
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>
> > *Changed CreateFile() to check for \\.\USBSCAN...,
> > if so open /dev/USBSCAN... instead of calling
> > VXD_Open(). Then it does
> > ...
> > 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
> 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!
More information about the wine-devel