which class is a driver for PCI image codec?

Hi,
I have a PCI image codec card. I need to write a driver for that PCI
card. The PCI bridge used is PLX9054. I would like to know under which
class of WDM does the driver fall into.
Are there any WDM samples for the class to which the PCI image codec card
belongs?

Any help would be appreciated

thanks and regards
Srikanth

I assume that you have a PCI card that uses PCI bridge as a PCI bus
interface chip. The bridge will be recognized by OS so you can either do
nothing about it or write a filter driver that attach to this bridge
functional device object, in case you want write some register in MMIO/IOIO
space or PCI configuration space.

I also assume you image codec is a PCI device hanging on the other side of
PCI bus of the PCI bridge. All you need to do is to write a regular WDM
driver for your device.

I worte a driver for this kind of hardware that uses DEC PCI bridge. On the
other side of the bus, the hardware actully has several video devices that
are talking to each other. I used single driver and its AddDevice will be
called multiple time as PnP Manager enumerate the device on the PCI bus.
This makes the device objects talk to each other easier. I used C++ in
writting the driver. At the AddDevice I instantiate a generic device class
and wait until the object to receive IRP_MJ_PNP/IRP_MN_START_DEVICE to
instantiate the particular device class and hold the instance of the generic
class as its child. You can write each driver for each device and use
IoGetDeviceInterfaces to let them talking to each other. This becomes a bit
messier if you have four of five of the devices on the other side of the
bridge.

Cheers.

Bi

-----Original Message-----
From: Srikanth [mailto:xxxxx@yahoo.com]
Sent: Tuesday, September 24, 2002 5:35 PM
To: NT Developers Interest List
Subject: [ntdev] which class is a driver for PCI image codec?

Hi,
I have a PCI image codec card. I need to write a driver for that PCI
card. The PCI bridge used is PLX9054. I would like to know under which
class of WDM does the driver fall into.
Are there any WDM samples for the class to which the PCI image codec card
belongs?

Any help would be appreciated

thanks and regards
Srikanth


You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

Hi,
What ever you have said is true. But how to write a generic class driver
when the device doesnot fall under any of the classes? Do I need to create
a new class and a minidriver or a new class alone will be sufficient?
Also, can the new class driver interact with a user mode application? Any
pointers to creation of new class will be highly appreciated.
Please clarify,

Thanks a lot!
Rgds
SRikanth

Hi,

This generic class is C++ class, not Microsoft class driver.

It is something like

class CBDevice
{
public:

PDEVICE_OBJECT m_pDevObj;
PDRIVER_OBJECT m_pDrvObj;
PVOID m_pParent;
};

And upon IRP_MJ_PNP/IR_MN_STATR_DEVICE you will know what device it is base
on PCI configration info from PDO and you can create a class

class MyDevice1
{
public:
MyDevice1(CBDevice* pChild) : m_pDev(pChild)
{
pChild->m_pParent = this;
}


CBDevice m_pDev;
};

You can specify an new operator. There was a C++ library for NT kernel
published in MSJ in 1996 by two Intel guys. You can use the new operator
such as

inline void * __cdecl operator new(size_t Size, POOL_TYPE PoolType, ULONG
tag)
{
return nSize ? ExAllocatePoolWithTag(PoolType, Size, tag) : NULL;
}

inline void __cdecl operator delete(void* p)
{
if (p)
ExFreePool(p);
}

found in the papaer.

In fact, you don’t have to use C++ at all. Using structures like the classes
will do.

Because the driver is written for my former employer, I can disclose generic
things as abov.

Good luck.

Bi

-----Original Message-----
From: Srikanth [mailto:xxxxx@yahoo.com]
Sent: Tuesday, September 24, 2002 8:46 PM
To: NT Developers Interest List
Subject: [ntdev] RE: which class is a driver for PCI image codec?

Hi,
What ever you have said is true. But how to write a generic class driver
when the device doesnot fall under any of the classes? Do I need to create
a new class and a minidriver or a new class alone will be sufficient?
Also, can the new class driver interact with a user mode application? Any
pointers to creation of new class will be highly appreciated.
Please clarify,

Thanks a lot!
Rgds
SRikanth


You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

“Srikanth” wrote in message news:xxxxx@ntdev…
>
> Are there any WDM samples for the class to which the PCI image codec card
> belongs?
>

You’ve got to be more specific about what you’re asking.

Do you mean Device Setup class here? In other words, are you asking “What
do I put in my INF file, for class=xyz”?

Or are you asking “What sort of driver do I write to support this type of
device?”

Peter
OSR