Verify the menu handle is non-zero prior to use.
[wine/multimedia.git] / documentation / aspi
blob544d0b6954755ac9646681f235018980f55a71ab
1 This file describes setting up the Windows ASPI interface.
3 Warning/Warning/Warning!!!!!!
4 =============================
5 THIS MAY TRASH YOUR SYSTEM IF USED INCORRECTLY
6 THIS MAY TRASH YOUR SYSTEM IF USED CORRECTLY
8 Now that I have said that. ASPI is a direct link to SCSI devices from
9 windows programs. ASPI just forwards the SCSI commands that programs send
10 to it to the SCSI bus.
12 If you use the wrong scsi device in your setup file, you can send
13 completely bogus commands to the wrong device - An example would be
14 formatting your hard drives (assuming the device gave you permission -
15 if you're running as root, all bets are off).
17 So please make sure that **all** SCSI devices that the program won't need
18 have their permissions set as restricted as possible ! 
20 Cookbook for setting up scanner: (At least how mine is to work)
21 ================================
23 Windows requirements:
24 =====================
25 0) The scanner software needs to use the "Adaptec" compatible drivers
26 (ASPI). At least with Mustek, they allow you the choice of using
27 the builtin card or the "Adaptec (AHA)" compatible drivers. This will not
28 work any other way.
29 Software that accesses the scanner via a DOS ASPI driver (e.g. ASPI2DOS)
30 is supported, too. [AM]
32 1) You probably need a real windows install of the software to set the
33 LUN's/SCSI id's up correctly. I'm not exactly sure.
35 LINUX requirements:
36 ============================================================
37 0) Your scsi card must be supported under linux. This will not work with
38 an unknown scsi card.
39 Even for cheap'n crappy "scanner only" controllers some special Linux drivers
40 exist on the net.
42 1) Compile generic scsi drivers into your kernel.
44 2) Linux by default uses smaller scsi buffers than Windows. There is a
45 kernel build define SG_BIG_BUFF (in sg.h) that is by default set too low.
46 The SANE project recommends 130560 and this seems to work just fine. This
47 does require a kernel rebuild.
49 3) Make the devices for the scanner (generic scsi devices) - look at the scsi
50 programming how-to for device numbering.
52 4) I would recommend making the scanner device writable by a group.
53 I made a group called "scanner" and added myself to it. Running as root
54 increases your risk of sending bad scsi commands to the wrong device. With
55 a regular user, you are better protected.
57 5) Add a scsi device entry for your particular scanner to wine.conf.
58 The format is [scsi cCtTdD] where C=controller, T=target, D=LUN
60 ex. I set mine up as  controller 0, Target 6, LUN 0.
61 [scsi c0t6d0]
62 Device=/dev/sgi
64 Yours will vary with your particular SCSI setup.
67 General Information:
68 ====================
69 The mustek scanner I have was shipped with a package "ipplus". This
70 program uses the TWAIN driver specification to access scanners.
72                             (TWAIN MANAGER)
73 ipplus.exe <---> (TWAIN INTERFACE) <---> (TWAIN DATA SOURCE . ASPI) -> WINASPI
75 NOTES/BUGS:
76 ===========
77 The biggest is that it only works under linux at the moment.
78 The ASPI code has only been tested with:
79 - a Mustek 800SP with a Buslogic controller under Linux [BM]
80 - a Siemens Nixdorf 9036 with Adaptec AVA-1505 under Linux
81   accessed via DOSASPI.
82   Note that I had color problems, though (barely readable result) [AM]
83 - a Fujitsu M2513A MO drive (640MB) using generic scsi drivers.
84   Formatting and ejecting worked perfectly.
85   Thanks to Uwe Bonnes for access to the hardware ! [AM]
87 I make no warranty to the aspi code. It makes my scanner work. Your devices
88 may explode. I have no way of determining this. I take zero responsibility!
91 Bruce Milner
92 Additions by Andreas Mohr