Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

FireWire programming on Win32?

26 views
Skip to first unread message

Michael D. Crawford

unread,
Jan 11, 2003, 9:18:06 PM1/11/03
to
Hi,

Can anyone give me any tips on how to get started with FireWire (IEEE 1394,
iLink) programming on Windows?

I looked in Visual Studio 7's help and searched on Google, and got lots of
search hits but didn't seem to find what I need, which is just the basics of
how to do it. If I can find out how to get started, I expect I can figure out
the rest of what I need. Does Microsoft provide any sample code?

I need to read and write a small amount of data directly from and to an
embedded device on the firewire bus. Can that be done from a user space
application, or do I need a device driver?

If you don't know about FireWire but you do know about USB, I would expect
the way you access them from a user space program to be conceptually similar
(although quite different in detail.)

I'm not using an established protocol so there wouldn't be a higher-level
interface to use as there would be for, say, capturing video data from a DV
camera.

I need to send read quadlet and write block requests directly to my device from
my application. I will use a device driver if I have to but for various
reasons I would prefer if I can do this from a user application without the
need for a driver.

I am able to do this from user space on Mac OS X by using the IOKit to
instantiate a COM interface to the Mac's firewire driver. The COM interface
exports functions for doing raw reads and writes explicitly. It would be just
dandy if windows did something like that.

I am targeting Windows 98, ME, XP and 2000 - should I be able to support them
all with one version of my code, or will I need to handle special cases? To
start with though I just need to get it working on Windows 2000, and can add
support for the other versions later.

Thanks for any help you can give me.

Mike
--
Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com/
craw...@goingware.com

Tilting at Windmills for a Better Tomorrow.

Sten Westerback

unread,
Jan 31, 2003, 5:06:53 AM1/31/03
to

"Michael D. Crawford" <craw...@goingware.com> wrote in message
news:3E20D05E...@goingware.com...

> Hi,
>
> Can anyone give me any tips on how to get started with FireWire (IEEE
1394,
> iLink) programming on Windows?
>
> I looked in Visual Studio 7's help and searched on Google, and got lots of
> search hits but didn't seem to find what I need, which is just the basics
of
> how to do it. If I can find out how to get started, I expect I can figure
out
> the rest of what I need. Does Microsoft provide any sample code?
>
> I need to read and write a small amount of data directly from and to an
> embedded device on the firewire bus. Can that be done from a user space
> application, or do I need a device driver?

You need a device driver for the device and then you communicate with
it using normal driver interfaces such as File I/O and DeviceIoControl().

- Sten

Stewart DIBBS

unread,
Jan 31, 2003, 2:53:59 PM1/31/03
to
> "Michael D. Crawford" <craw...@goingware.com> wrote in message
> news:3E20D05E...@goingware.com...
> > Can anyone give me any tips on how to get started with FireWire (IEEE
> 1394 iLink) programming on Windows?


There is File I/O and DeviceIoControl(). However, there has to be a device
driver present, and device drivers come from the device manufacturer. Many
(but unfortunately not all) manufacturers have libraries for access and
control.

For example, digital camera manufacturers DVC, QImaging and Basler all have
easy to use APIs. No doubt there are others. There might also be some APIs
available for Firewire Camcorders but I've never needed to check. I'd be
surprised of there isn't some standard. You could look at DirectX as this
supports digital media input devices.


regards,
Stewart DIBBS
Software Manager
Lumetrix Corp, Ottawa
www.lumetrix.com


0 new messages