Reg: USB Streaming Mini class driver

Hai,
I am developing a USB Streaming class driver.

During the HwInitialize I need to communicate with my USB device.

I don’t know how to send the calls to my device. Can any one help me?
Is there any samples that are available in this case

Thanks and Regards
Kannan. T


Get your free Australian email account at http://www.start.com.au


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Look into using IoCallDriver()…

  • Dennis

Dennis Merrill
Embedded Systems Engineer
Thermo Nicolet Corporation

-----Original Message-----
From: kannan Thankavel [mailto:xxxxx@start.com.au]
Sent: Monday, December 10, 2001 5:51 AM
To: NT Developers Interest List
Subject: [ntdev] Reg: USB Streaming Mini class driver

Hai,
I am developing a USB Streaming class driver.

During the HwInitialize I need to communicate with my USB device.

I don’t know how to send the calls to my device. Can any one help me?
Is there any samples that are available in this case

Thanks and Regards
Kannan. T


Get your free Australian email account at http://www.start.com.au


You are currently subscribed to ntdev as: xxxxx@thermonicolet.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hello,

Look into using IoCallDriver()…

This was my first idea, but I mean this is not the point.

You need a device object for IoCallDriver() and the WDM Stream
driver use a adapter abstraction layer and have no information
about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze function
is called trough function pointer reported in
StreamClassRegisterAdapter().

So I have no idea too in moment.

elli


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You get that from the class driver. Something like this:

PPORT_CONFIGURATION_INFORMATION configInfo = Srb->CommandData.ConfigInfo;
PDEVICE_OBJECT physicalDeviceObject = configInfo->PhysicalDeviceObject;

So, when you get an SRB_INITIALIZE_DEVICE you can get the data you need from
the PORT_CONFIGURATION_INFORMATION.

  • Dennis

Dennis Merrill
Embedded Systems Engineer
Thermo Nicolet Corporation

-----Original Message-----
From: Mathias Ellinger [mailto:xxxxx@Ellisoft.de]
Sent: Monday, December 10, 2001 11:00 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Reg: USB Streaming Mini class driver

Hello,

Look into using IoCallDriver()…

This was my first idea, but I mean this is not the point.

You need a device object for IoCallDriver() and the WDM Stream
driver use a adapter abstraction layer and have no information
about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze function
is called trough function pointer reported in
StreamClassRegisterAdapter().

So I have no idea too in moment.

elli


You are currently subscribed to ntdev as: xxxxx@thermonicolet.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> You need a device object for IoCallDriver() and the WDM Stream

driver use a adapter abstraction layer and have no information
about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze function
is called trough function pointer reported in
StreamClassRegisterAdapter().

For SRB_INITIALIZE_DEVICE subcode, pSRB->CommandData.ConfigInfo is a pointer to PORT_CONFIGURATION_INFORMATION.
PORT_CONFIGURATION_INFORMATION contains several device object pointers.

Lower device object is PhysicalDeviceObject.
PDO is RealPhysicalDeviceObject.
Class driver’s device object created for you by the stream class is ClassDeviceObject.

So, no problems writing a stream miniport over USB or 1394.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Hai,
When I try to send the USB commands to the PhysicalDeviceObject,
the system gets crashed. I am able to get the DEVICE_DESCRIPTOR and
CONFIGURAION_DESCRIPTOR using the PDO. when I try to select my
interface the system gets crashed during IOCallDriver().

Thanks and Regards
Kannan.T

Original message from: “Maxim S. Shatskih”
>
>> You need a device object for IoCallDriver() and the WDM Stream
>> driver use a adapter abstraction layer and have no information
>> about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze
function
>> is called trough function pointer reported in
>> StreamClassRegisterAdapter().
>
>For SRB_INITIALIZE_DEVICE subcode, pSRB->CommandData.ConfigInfo is a
pointer to PORT_CONFIGURATION_INFORMATION.
>PORT_CONFIGURATION_INFORMATION contains several device object
pointers.
>
>Lower device object is PhysicalDeviceObject.
>PDO is RealPhysicalDeviceObject.
>Class driver’s device object created for you by the stream class is
ClassDeviceObject.
>
>So, no problems writing a stream miniport over USB or 1394.
>
> Max
>
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@start.com.au
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>.
>

__________________________________________________________________
Get your free Australian email account at http://www.start.com.au


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

If you are able to get descriptors, then you PDO is fine. I would suspect
that you are doing something incorrect with the select interface call…

  • Dennis

Dennis Merrill
Embedded Systems Engineer
Thermo Electron Corporation
Spectroscopy Division

-----Original Message-----
From: kannan Thankavel [mailto:xxxxx@start.com.au]
Sent: Wednesday, December 12, 2001 7:40 AM
To: NT Developers Interest List
Subject: [ntdev] RE: Reg: USB Streaming Mini class driver

Hai,
When I try to send the USB commands to the PhysicalDeviceObject,
the system gets crashed. I am able to get the DEVICE_DESCRIPTOR and
CONFIGURAION_DESCRIPTOR using the PDO. when I try to select my
interface the system gets crashed during IOCallDriver().

Thanks and Regards
Kannan.T

Original message from: “Maxim S. Shatskih”
>
>> You need a device object for IoCallDriver() and the WDM Stream
>> driver use a adapter abstraction layer and have no information
>> about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze
function
>> is called trough function pointer reported in
>> StreamClassRegisterAdapter().
>
>For SRB_INITIALIZE_DEVICE subcode, pSRB->CommandData.ConfigInfo is a
pointer to PORT_CONFIGURATION_INFORMATION.
>PORT_CONFIGURATION_INFORMATION contains several device object
pointers.
>
>Lower device object is PhysicalDeviceObject.
>PDO is RealPhysicalDeviceObject.
>Class driver’s device object created for you by the stream class is
ClassDeviceObject.
>
>So, no problems writing a stream miniport over USB or 1394.
>
> Max
>
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@start.com.au
>To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>.
>

__________________________________________________________________
Get your free Australian email account at http://www.start.com.au


You are currently subscribed to ntdev as: xxxxx@thermonicolet.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Strange. The code I mentioned was for 1394 stack (video camera) and worked fine, at least on Win98.

Max

----- Original Message -----
From: “kannan Thankavel”
To: ;
Sent: Wednesday, December 12, 2001 4:40 PM
Subject: Re: [ntdev] RE: Reg: USB Streaming Mini class driver

> Hai,
> When I try to send the USB commands to the PhysicalDeviceObject,
> the system gets crashed. I am able to get the DEVICE_DESCRIPTOR and
> CONFIGURAION_DESCRIPTOR using the PDO. when I try to select my
> interface the system gets crashed during IOCallDriver().
>
> Thanks and Regards
> Kannan.T
>
> Original message from: “Maxim S. Shatskih”
> >
> >> You need a device object for IoCallDriver() and the WDM Stream
> >> driver use a adapter abstraction layer and have no information
> >> about IRP_MJ_ADD_DEVICE and the given PDO. Only a HwInitialze
> function
> >> is called trough function pointer reported in
> >> StreamClassRegisterAdapter().
> >
> >For SRB_INITIALIZE_DEVICE subcode, pSRB->CommandData.ConfigInfo is a
> pointer to PORT_CONFIGURATION_INFORMATION.
> >PORT_CONFIGURATION_INFORMATION contains several device object
> pointers.
> >
> >Lower device object is PhysicalDeviceObject.
> >PDO is RealPhysicalDeviceObject.
> >Class driver’s device object created for you by the stream class is
> ClassDeviceObject.
> >
> >So, no problems writing a stream miniport over USB or 1394.
> >
> > Max
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@start.com.au
> >To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >.
> >
>
>
> __________________________________________________________________
> Get your free Australian email account at http://www.start.com.au
>
>


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com