Re: getting handle to device by Doron
Doron
Tue Dec 18 14:24:26 CST 2007
pci.sys probably does not allow creates against its FDO and if your filter
is below the pci fdo, the creates will fail. you can use WMI w/out any
problems, although it is not really meant for high traffic type of
communication
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Brian" <Brian@discussions.microsoft.com> wrote in message
news:1B1DA5A2-8858-4727-B45F-B57F59237C69@microsoft.com...
> Doron,
>
> I have a bus filter driver to pci.sys. My company builds PCI and PCIE
> expansion chassis. One of our product lines uses the expresscard form
> factor
> to enable laptops to use PCI or PCIE add it cards. The BIOS support for
> laptops are not very good in this area, so we were forced write a bus
> filter
> driver in order to configure the local bus resources correctly. Recently
> I
> added an ISR to the driver in order to support the software requirements
> of
> plug and play as defined by the PCI standard. The feature I am trying to
> add
> is an IOCTL call that will provide status information on the pcie switch
> or
> bridge we are using.
>
> Brian
>
> "Doron Holan [MSFT]" wrote:
>
>> what stack are you filtering?
>>
>> --
>> Please do not send e-mail directly to this alias. this alias is for
>> newsgroup purposes only.
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Brian" <Brian@discussions.microsoft.com> wrote in message
>> news:43D43E4E-0239-4EDC-B743-A86CE3B89BBE@microsoft.com...
>> > Shortly after posting this question I researched a little more and
>> > found
>> > this
>> > and put it in my StartDevice routine. It did not appear to affect my
>> > results. I am an upper filter driver, and when I look at the driver's
>> > stack
>> > I am the upper most driver so I don't believe the call is being
>> > rejected
>> > above me. I did also find a paper (including source) put out by you
>> > guys
>> > (MSFT) that suggests using the old style NT method of creating a
>> > symbolic
>> > link. As this is a little lower in priority, for me I have been
>> > working
>> > on
>> > other things and will try this later
>> >
>> > "Doron Holan [MSFT]" wrote:
>> >
>> >> are you calling IoSetDeviceInterfaceState(..., TRUE) as well?
>> >>
>> >> d
>> >>
>> >> --
>> >> Please do not send e-mail directly to this alias. this alias is for
>> >> newsgroup purposes only.
>> >> This posting is provided "AS IS" with no warranties, and confers no
>> >> rights.
>> >>
>> >>
>> >> "Brian" <Brian@discussions.microsoft.com> wrote in message
>> >> news:2E634CFF-0A2B-4455-9237-1973AB9978E9@microsoft.com...
>> >> > This one should be a no-brainer, I just added a dispatch routine to
>> >> > my
>> >> > bus
>> >> > filter driver that is supposed to return status information back. I
>> >> > register
>> >> > the interface in the AddDevice routine. This appears to be working,
>> >> > as
>> >> > I
>> >> > can
>> >> > see each instance enumerated under my GUID in the
>> >> > currentcontrolset\Control\DeviceClasses. The problem is after
>> >> > modifying
>> >> > the
>> >> > toaster examples enum application to use my GUID, I the
>> >> > SetupDiEnumDeviceInterfaces call fails and the last error is
>> >> > ERROR_NO_MORE_ITEMS. I double checked that I am using my new GUID,
>> >> > and
>> >> > that
>> >> > the correct number of instances of my device is in the registry.
>> >> > What
>> >> > I
>> >> > would like to know is how can I tell if my driver is not registering
>> >> > the
>> >> > interface correctly, or am I not accessing the interface correctly?
>> >> >
>> >> > Thanks
>> >> >
>> >> > Brian
>> >>
>> >>
>>
>>