Still Image Devices on Windows 2000/XP over Firewire

Hi Folks -

It’s been a while for me in Driver land, and much as evolved on Windows XP
for Still Image acquisition techniques on Windows since I last wrote a
driver for a digital camera.

First some background.

I have a customer who has a high end camera that is going to provide a
Firewire interface to a Windows PC (Must support Windows 2000 & XP). We
are in the early stages of design, and are trying to figure out how best
to provide connectivity to Windows XP and Windows 2000.

The Host PC needs to be able to set various controls on the camera, as
well as basic image acquisition. They also need to support a Video Preview
mode, which can just be stills arriving at 15 Frames Per Second). Though
this is *NOT* as Video device, the preview is to aide in Still Image
Capture.

  1. My first question is what Protocol to support on the camera? I have
    used the PIMA 15740 Still Image Protocol before (I think its now called
    PTP by Windows). Has this become the standard Protocol for Digital Cameras
    talking to Windows Computers? Are there any others that I am not aware of
    ?

If so, I have implemented this protocol over USB but not over Firewire.
What transport would be used to allow Windows to talk to a PIMA 15740
camera over firewire (SBP2?). We need to implement this in our Firewire
stack on the camera, right. If done correctly, when the camera enumerates,
Windows should just see it and know how to talk to it. I then assume some
kind of mini driver can be written to provide any custom camera
control/functionality.

  1. To support both XP and 2000, it looks like I am going to have to supply
    two solutions (TWAIN/STI for 2000 & PTP or WIA for XP). Is this true. I
    did find an article on the Windows web site describing porting TWAIN/STI
    software to WIA. Would a good solution be to implement the Windows 2000
    Piece first (TWAIN/STI) then follow the porting guide from Microsoft to
    make it WIA (Trying to share code as much as possible)?

Thanks !

-Chris