Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


How to use Windows 2000 API for IEEE 1394

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Hello,
I studied the IEEE 1394 APIs provided by Win2000. However I'm not getting
how should I use certain commands. There is 1394api.dll, I got it.
Suppose I want to use AsyncRead API & get the data bytes read from the
address specified.
Following is the prototype for the API:-

ULONG WINAPI AsyncRead(
HWND hWnd,
PSTR szDeviceName,
PASYNC_READ asyncRead,
BOOL bAutoAlloc
);
typedef struct _ASYNC_READ {
ULONG bRawMode;
ULONG bGetGeneration;
IO_ADDRESS DestinationAddress;
ULONG nNumberOfBytesToRead;
ULONG nBlockSize;
ULONG fulFlags;
ULONG ulGeneration;
UCHAR Data[1];
} ASYNC_READ, *PASYNC_READ;

Then where will I get the data read from DestinationAddress ?
Same is the case for AsyncWrite . I don't understand where to get/specify
the data ?
If anybody has used 1394 APIs then please let me know.
Thanks in advance.
Regards,
Aparna
Member technical staff
Nital Computer systems pvt. ltd, Pune

Comments

  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    the 200ddk contains source of 1394 filter driver called 1394diag.sys.
    This exposes all the sync and async calls of kernel mode.

    Additionally it contains source for a dll(1394api.dll) which exposes all the
    apis.
    The APIs are documented in 1394api.doc.

    If u want to directly use 1394 calls these should be sufficient.


    Note ; 98ddk also contains an older version of 1934diag (but no 1394api.dll)

    Warm regards
    Jeseem
    mailto:[email protected]

    *************************************************************
    The truest form of enlightenment is not in knowing that there
    are things you don't know, but in realizing that there are things
    you don't even know that you don't know...
    *************************************************************
  • OSR_Community_UserOSR_Community_User Member Posts: 110,217
    > the 200ddk contains source of 1394 filter driver called 1394diag.sys.
    > This exposes all the sync and async calls of kernel mode.
    >
    > Additionally it contains source for a dll(1394api.dll) which exposes all
    the

    So, 1394api.dll uses 1394diag for its work? Too bad.
    1394diag requires switching the 1394bus enumerator to diagnostic mode in
    order to be loaded. In this mode, any 1394 devices will be enumerated as
    "1394 Test Device". So, 1394diag and 1394api will work, but no original
    WDM drivers will be loaded for any 1394-attached hardware.

    Max
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online
Writing WDF Drivers 12 September 2022 Live, Online