From: Arsalan Ahmad on 15 Feb 2007 04:50 Hello all, I want to create an NDIS miniport driver with stream interface. Please tell me what should I do as discussed below? 1. Either I create a driver which exposes all DriverEntry(), XXX_Open(), XXX_Close(), XXX_Read() etc functions. I initialize miniport in DriverEntry() function. 2. Or I create a driver which exposes XXX_Init(), XXX_DeInit(), XXX_Close(), XXX_Open(), XXX_Read() functions (no DriverEntry() function) and I initialize miniport in XXX_Init() function. Thanks, Arsalan
From: Stephan Wolf [MVP] on 15 Feb 2007 11:09 On Feb 15, 10:50 am, "Arsalan Ahmad" <arsalan_ah...(a)fornntp.com> wrote: > Hello all, > > I want to create an NDIS miniport driver with stream interface. Please tell > me what should I do as discussed below? Before Vista, NDIS miniports should only use NDIS functions. Otherwsie, your driver will not pass WHQL certification (HCT). See also NdisMRegisterDevice(). Stephan
From: "Remi de Gravelaine" gravelaine at aton dash sys dot on 15 Feb 2007 13:04 > So, you mean I have to specify separate registry entries for my driver > (one for stream interface and other for NDIS). But does not it mean that > the device manager will then load two separate drivers??? Your driver DLL will be loaded only once, either by the device manager or by NDIS, but instanciated twice (once for device, once for NDIS.) > What if I want to use RegisterDevice() to register my device without > requiring a need to create registry entries. So when my application run, > it will use RegisterDevice() to install the driver (stream + miniport)? RegisterDevice is OK, although superseded by ActivateDevice(Ex) functions. You may or may not need to setup some Registry keys before the stream driver activation. Remi
From: Arsalan Ahmad on 15 Feb 2007 13:19 Thanks, Please tell me how can I debug inside my driver dll. Right now calling RegisterDevice() from my application is returning NULL and I am unable to understand the cause for it. Thanks, Arsalan "Remi de Gravelaine" <gravelaine at aton dash sys dot fr> wrote in message news:%23ncM6uSUHHA.4796(a)TK2MSFTNGP05.phx.gbl... >> So, you mean I have to specify separate registry entries for my driver >> (one for stream interface and other for NDIS). But does not it mean that >> the device manager will then load two separate drivers??? > > Your driver DLL will be loaded only once, either by the device manager or > by NDIS, but instanciated twice (once for device, once for NDIS.) > >> What if I want to use RegisterDevice() to register my device without >> requiring a need to create registry entries. So when my application run, >> it will use RegisterDevice() to install the driver (stream + miniport)? > > RegisterDevice is OK, although superseded by ActivateDevice(Ex) functions. > You may or may not need to setup some Registry keys before the stream > driver activation. > > Remi >
From: "Remi de Gravelaine" gravelaine at aton dash sys dot on 15 Feb 2007 13:52 Well, the first thing to do would be to run a debug version of your image. You will then be able to look at debug output when you call RegisterDevice, to put a breakpoint in the XXX_Init code, etc. Without this support, I hardly see what you can do. Maybe should you tell us a little bit more about your system (OS version, device, platform and so on.) Remi
|
Next
|
Last
Pages: 1 2 3 Prev: How to use IOCTL_USB_USER_REQUEST Next: CreateFile and GetVolumeInformation fail |