Re: NDIS5.1 driver in Vista



Amit,

For a workaround I created the device object using the IoCreateDeivce()
and further creating the Symbolic link using the
IoCreateSymbolicLink(), Offcourse I am taking care abt the distach
routines initialization for if not done it would crash..
With this workaround I am able to get the handle and setup a normal
behaviour...

Sorry, I just overlooked the fact that you were speaking about
Vista..... In Vista NdisMRegisterDevice() is not supported - this is
why you get STATUS_NOT_SUPPORTED. This is what I can tell you for sure,
although, unfortunately, I am unable to offer you any workaround -all
my statements about Vista are based upon MSDN, rather than upon my own
experience.

However, it looks like you made an interesting experiment.....

Do you mean that you actually managed to send the request to the device
this way??? In fact, I am not surprized that calls to IoCreateDeivce()
and IoCreateSymbolicLink() were successfull, but, in my experience, if
you do thing this way IRP_MJ_CREATE gets immediately followed by
IRP_MJ_CLOSE whenever you call ZwCreateFile() , so that the whole thing
is, for the practical purposes, unusable (in fact, I never tried
IoGetDeviceObjectPointer(), just because the failure seemed to be
inevitable, so that there is no need to waste time on the experiment).
This is how it works on W2K and XP. However, as it turns out, on
Vista it may work differently......

Anton Bassov



Amit wrote:
Hi ,
I am registering my mniport driver with NDIS as below,

Status = NdisMRegisterDevice(
NdisWrapperHandle,
&ustrDeviceName,
&ustrSymbolicName,
dispatch_table,
&Adapter->psDeviceObj,
&Adapter->NdisDeviceHandle);

using this method I am unable to get the device handle. ( call from
both IoGetDeviceObjectPointer() and CreateFile() FAIL) . I checked
even the Symbolic link with WinObj.exe and is created.

For a workaround I created the device object using the IoCreateDeivce()
and further creating the Symbolic link using the
IoCreateSymbolicLink(), Offcourse I am taking care abt the distach
routines initialization for if not done it would crash..
With this workaround I am able to get the handle and setup a normal
behaviour...But this workaround is not the right way to register...So
please help me to get a solution and what is the reason for such
behaviour?

Regards,
Amit
soviet_bloke@xxxxxxxxxxx wrote:
Hi mate

I am trying to get the handle using the IoGetDeviceObjectPointer()
function from another driver, But it always returns
STATUS_NOT_SUPPORTED. What could be the reason for such behaviour?

"The reason for such behaviour" is obvious-- you are just not supposed
to access miniport drivers this way. If you want someoene, apart from
NDIS library, to call your miniport driver, you have to register a
standalone device with NdisMRegisterDevice(), and forward all calls to
this device

Anton Bassov

Amit wrote:
Hi All,
I am using my NDIS 5.1 miniport driver written for WinXP prof in
Vista Build 5600 (Vista RC1).
The driver is running fine for it supports the backward compatibility,
but I am unable to get the handle for my network device for the driver
I have.
I am trying to get the handle using the IoGetDeviceObjectPointer()
function from another driver, But it always returns
STATUS_NOT_SUPPORTED. What could be the reason for such behaviour?

The same setup ( NDIS miniport driver and the other driver from which i
am trying to get the NDIS handle ) works fine.

Looking forward for your response.....

.



Relevant Pages

  • Re: NDIS5.1 driver in Vista
    ... This workaround will work even in the WinXP... ... IoCreateSymbolicLink(), Offcourse I am taking care abt the distach ... I am registering my mniport driver with NDIS as below, ...
    (microsoft.public.development.device.drivers)
  • Re: WiFi how to send OIDs from user mode (windows vista)
    ... The diagram identifies the Microsoft-provided "Native 802.11 IM Driver" as being layered over the vendor-provided Native 802.11 miniport. ... Only the upper 802.3 edge of the Microsoft Native 802.11 IM driver is presented to the system for binding to ordinary NDIS protocols such as TCP/IP, ... This is true for Windows XP as well as for Vista. ... Microsoft has made modifications to WMI to enforce exclusive access to 802.11 adapter management functions. ...
    (microsoft.public.development.device.drivers)
  • Re: NDIS5.1 driver in Vista
    ... driver to NDIS 6. ... Vista Build 5600. ... The same setup (NDIS miniport driver and the other driver from which i ...
    (microsoft.public.development.device.drivers)
  • Re: Vista and NDIS 5.0, Do they play nicely together?
    ... We are going to port to NDIS 6.0. ... I just built our WLAN driver for NDIS 5.1 and Vista does ... recognised as a WLAN driver but changing the version in NdisMRegisterMiniportmakes Vista ...
    (microsoft.public.development.device.drivers)
  • Re: obtaining vista logo for ndis+wdm drivers
    ... In the "Windows Logo Program 3.0" document I read the following ... "A driver for an Ethernet device must make only NDIS or WDF calls. ... Basic logo for Vista? ...
    (microsoft.public.development.device.drivers)