Well, scanning with a standard scanner requires physical access to the scanner. Therefore, using more than one PC to scan is kinda difficult (as you'd have to get up to insert the documents, etc.)
However, Windows does not offer Scanner sharing, neither for USB nor parallel-port scanners.
In order to get a scanner into your network, you could go with one of two different ways:
For a USB-scanner: You may have success with a Ethernet-to-USB Bridge. Then, however, the current user needs to close the application to enable anyone else to use the scanner.
If you don't have a scanner yet: Buy a more pricey multifunctional device / photocopier. Some devices allow for their built-in scanner to be used over the network. This also means that, during the time the scan takes, noone will be able to use the device for anything else.
If you go really high-end (Canon iR 6000 etc.) you can have the copier put anything it scans to a network share as PDF files. Works like a charm.
"If it was two men, the non-driver would have challenged the driver to simply crash through the gates. The macho image thing, you know." - Marc Clifton
For some reason or another PREfast always crashes my script host. Has anybody come across this problem and know of a way to get it working?
My development env is Vista x64 ( with script host 5.7 ), VS2005 ( not that it matters ) and the latest WDK 6001.18000
Opening any build environment and typing "prefast /?" crashes, as does trying to run prefast.exe from a command line. According to the docs PREfast is supported on all OS's starting with winXP and I am unable to find anything about this problem on MSDN or google.
i'm also trying to develop another game controled from bluetooth remotes. (the guy who asked me to do so wants me to make the game payable by about 30 different players !!! ) i think he wants to simulate a tv show !!!
i also need info about programming in full screen mode, AND dual screen (one screen for playing the game, and the other --> i think the 1st one will be used to manage another part of the game. it's a kind of "who wants to be a billionaire" game. the 1st screen won't be used all the time, but in the case that new questions will be changed or added or deleted.
i don't have a big development experience, so i think that my first steps will be to gather good info and docs before starting to code (i think that coding is one of the last steps) anyway, if i start coding now, i won't ever know how to handle this project !
first i have to know wich libraries i'll use, why, and how i will use them.
and also before, i'll have to choose a language (i think i'll use c++, but it's only a pre-choice).
the just nex things i'll do is SEARCH SEARCH SEARCH !!!
of course, i'll have a look at the (i'm shameful since i don't even remember the name of the thing to manage bluetooth inputs that "i don't remember his login" talked about.)
All the PC_*, and iPaq, are receiving IP's via DHCP from Router.
All the PC_* can see each other and the internet.
The iPaq can see the internet, PC_1 and PC_3, but _NOT_ PC_2.
When the iPaq tries to access PC_2 the network lights on the BEFSR81 flicker but no packets are passed to PC_2 and the connection attempt times out.
PC_2 is not running any firewall software (XP firewall is off).
BEFSR81 is set to run as just a switch.
This layout used to work, but iPaq and PC_2 have both been reinstalled recently.
Turns out the WET54G had rebooted at some point and the SSID stayed the same but the IP was set back to the default 192.168... which didn't match the network. Setting the IP fixed all.
The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.
- John Carmack
I have been looking for a way in C++ to read the raw output levels sent to the DAC on a sound card for some time now. It would seem the only way to do this for Win2000 (and beyond) is to somehow access the kernel mixer and read the output. I know that I can't forcefully access the kernel space from a user-level application, but is there some entry point to query this information? I do not have too much experience in programming kernel processes, and I cannot find any clarification of KMixer.sys (other than people complaining about sound issues), but any explanation as to the functions that would do this in C++, the proper direction to take, or even suggestions for education on this topic or overall theory would be greatly appreciated!
I found this over at OSR Online: KMixer Driver Sample Rate Conversion and Mixing Policy[^]
The subject of Windows Audio Driver technology is amazingly complicated. If I were attempting to do what you suggested, I would be thinking along the lines of writing a kernel mode driver to intercept the data from the device driver stack. This is not simple or easy.
Even experienced driver writers find the subject challenging. And, as far as I know there are no books on the subject.
Probably OSR Online is your best starting point,...I have actually seen a couple of threads on the subject in the development forums. But, if you've never written a driver, I suggest that you plan carefully, driver development is difficult. Blue Screens of Death predominate.
I also found this blog by Larry Osterman[^] to be informative. He contrasts the audio stack on Windows XP and previous with Vista; there are significant design differences.
By the way, to answer your original question: there is an entry point for the kernel driver, but, it is not accessible from user mode. It is called by the Operating System kernel when the driver is first loaded.
I have been reading a Book on Windows internals where it mentions being in Kernal mode vs User mode
My question is why would I want to be in Kernal Mode are thier certin Windows API's that can execute only Kernel mode or is thier certian areas of storage (system storage) they can be accessed modfied in Kernal Mode
My question is why would I want to be in Kernal Mode
The only ones who want to be in Kernel mode are device drivers. "Kernel mode" refers to the priviledged mode that drivers and the guts of the OS operate in. "User mode" refers to applications and is a restricted mode of operation. User mode cannot directly manipulate the hardware of the system - all calls must go through the OS via the appropriate API call and the OS will route the request to the appropriate hardware driver to perform the requested action.
If you're familiar with Intel processors, it's the difference between ring 0 (kernel) and ring 3 (user).