NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

device driver

    Sponsored Links

    Next

  • 1. How to set pattern for wake-up frame ?
    I am trying to set my PC to wake up by frames which contains patterns defined by me, in properties of my network card I am seeing that such capability (wake-up frame) is supported and enabled. But I cannot find some software on web pages of vendor of this network card for setting pattern. In DDK doc I am seeing, that there exist OID... for this which can be sent by protocol drivers, so I think that there exists some applications with protocol drivers able to set it. Where can I find such application ? Thx ! Peter
  • 2. ZwCreateFile fails for harddisk device
    Hi, I am trying to open a physical disk object to extract some hard disk properties, but the ZwCreateFile keeps failing. I had tried \??\PhysicalDrive0, \Device\Harddisk0 etc but everyone of this fails. Following is the code snippet.... NTSTATUS OpenPhysicalDisk(char* pszDevice, PHANDLE pHandle) { IO_STATUS_BLOCK IoStatusBlock ; OBJECT_ATTRIBUTES ObjectAttributes ; LARGE_INTEGER AllocSize ; NTSTATUS status ; WCHAR wszDevice[BYTES_256] ; UNICODE_STRING ObjectName ; //mbstowcs(wszDevice, pszDevice, strlen(pszDevice)+1) ; wcscpy(wszDevice, L"\\??\\PhysicalDrive0") ; RtlInitUnicodeString(&ObjectName, wszDevice) ; InitializeObjectAttributes(&ObjectAttributes, &ObjectName, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL); RtlZeroMemory(&IoStatusBlock, sizeof(IO_STATUS_BLOCK)) ; AllocSize.QuadPart = 0; status = ZwCreateFile(pHandle, GENERIC_READ|GENERIC_WRITE, &ObjectAttributes, &IoStatusBlock, &AllocSize, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, FILE_DIRECTORY_FILE, NULL, 0) ; DbgPrint("ZwCreateFile status = 0x%x\n", status) ; } I get one of the following error codes when i use different names: STATUS_OBJECT_NAME_INVALID STATUS_OBJECT_NAME_NOT_FOUND STATUS_INVALID_PARAMETER Can someone please direct me what is wrong here or what i should be doing? Thanks in advance Brijesh Mishra

NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

Postby theworkaccount2 » Fri, 20 Feb 2009 23:54:52 GMT

've got two VMs. The first is an XP SP3 with the 2003 DDK installed.
This is the development VM. I then have a separate VM which is XP SP2
w/o DDK. My IM driver is basically the same as the "James" version of
the extended IP filtering Passthru driver given here:
http://www.wd-3.com/archive/ExtendingPassthru2.htm (I've just copied
the code into a different solution which already contains the code
which was previously wrapped over a protocol driver...however all the
extra code is disabled at this point, and it is just doing the IP
filtering).

Now the weirdness is that the IM driver installs fine in the dev VM
(using BindView) but not the other one. I don't know if this is due to
the lack of DDK in the other, or if it's because it's SP2 vs SP3. But
what I see when I install it is a bunch of error messages printed out
either by DbgView inside the VM or WinDbg in kernel debugging mode
outside. They look like this, and I am very surprised that they have 0
google hits.

INFO:DLL_PROCESS_ATTACH pid=4888 <"C:\cygwin\home\Administrator\trunk
\bindview\bindview.exe" >
ERROR: Failed to open log, try next msg in buf
INFO:DllGetClassObject
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::CSampleFilter
ERROR: Failed to open log, try next msg in buf
INFO:--> EnumCount 4
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::GetSupportedNotifications
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::Initialize
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::SysQueryBindingPath dwChangeFlag 17
<snip repeat>
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::SysNotifyBindingPath path enable
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::ApplyRegistryChanges
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::ApplyRegistryChanges default 0
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::ApplyRegistryChanges exit
ERROR: Failed to open log, try next msg in buf
INFO:--> DneInObj::~CSampleFilter
ERROR: Failed to open log, try next msg in buf
INFO:Total 18 NDIS bindings
ERROR: Failed to open log, try next msg in buf
INFO:Card 0000
ERROR: Failed to open log, try next msg in buf
INFO:Card 0001
ERROR: Failed to open log, try next msg in buf
INFO:Card 0002
ERROR: Failed to open log, try next msg in buf
INFO:Card 0003
ERROR: Failed to open log, try next msg in buf
INFO:Card 0004
ERROR: Failed to open log, try next msg in buf
INFO:Card 0005
ERROR: Failed to open log, try next msg in buf
INFO:Card 0006
ERROR: Failed to open log, try next msg in buf
INFO:Card 0007
ERROR: Failed to open log, try next msg in buf
INFO:FilterInfId ms_psched
ERROR: Failed to open log, try next msg in buf
INFO:UpperBind Tcpip
ERROR: Failed to open log, try next msg in buf
INFO:Proto {33C485FA-724B-40E9-8429-906DD9FC631B}
ERROR: Failed to open log, try next msg in buf
INFO:ComponentId dni_dne
ERROR: Failed to open log, try next msg in buf
INFO:Proto {4B422527-2896-485B-91FF-5F2D938CBFED}
ERROR: Failed to open log, try next msg in buf
INFO:ComponentId ms_rasman
ERROR: Failed to open log, try next msg in buf
INFO:Proto {81252F0F-0A18-4CDB-8027-F8524368DC44}
ERROR: Failed to open log, try next msg in buf
INFO:ComponentId ms_psched
ERROR: Failed to open log, try next msg in buf
INFO:Service PSched
ERROR: Failed to open log, try next msg in buf
INFO:P

Re: NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

Postby David R. Cattley » Sat, 21 Feb 2009 00:24:18 GMT

he messages appear to be generated by CoInstaller for the
"DeterministicNetwork Enhancer" IM driver framework (DNE was a product
Deterministic Networks, now owned by Citrix AFAIK and no longer sold). Do
you by chance have a VPN client like the Cisco VPN installed on this
machine? Cisco VPN happens to be one such product that used the DNE. There
were others, of course, but that is a very common way that DNE gets deployed
to a client system.

For actual diagnostic information that may be of use, look in the file
%windir%\setupapi.log.

For more information on setting the debug level for PnP setup operations
refer to this:

http://www.microsoft.com/whdc/driver/install/setupapilog.mspx

To get debug information from NetCfg refer to this paper by MVP Stephan Wolf

http://www.ndis.com/papers/stephanwolf/netcfgtrace.htm

or

http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/GettingtracefromNETCFGWP_StephanWolf.doc

Good Luck,
Dave Cattley
Consulting Engineer
Systems Software Development

< XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...


Re: NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

Postby theworkaccount2 » Sat, 21 Feb 2009 01:29:52 GMT

n Feb 19, 10:24燼m, "David R. Cattley" < XXXX@XXXXX.COM > wrote:

Yes, the machine it's not working on does have Cisco VPN installed on
it, whereas the one which it works on does not. I will definitely
investigate this angle first. Thank you very much for this initial
lead.

Jack

Re: NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

Postby Jeff Henkels » Sat, 21 Feb 2009 06:47:44 GMT






When did that happen?  In my last position (about 18 months ago), I worked 
on an identity management solution that used the DNE framework -- I was the 
lead Windows developer on the project and did the plugin driver that the DNE 
framework called into to process & modify the data packets. 



Re: NDIS IM Driver which installs with BindView in one VM and not in another (also DbgView/WinDbg give weird errors)

Postby David R. Cattley » Sat, 21 Feb 2009 10:59:29 GMT

Back in or around April of last year (I know this only because I read the 
press release at the time and made note of it).

I am not associated with either Citrix or (the former) Deterministic 
Networks.

-Dave









Similar Threads:

1.NDIS IM Driver which installs with BindView in one VM and not in a

2.Installing NDIS intermediate mode driver using Bindview applicatio

Your code seems to install only the protocol component.
Install the miniport as well.
--PA

" XXXX@XXXXX.COM " wrote:
> Hi:
> 
> I am trying to automatically install an IM driver given the .sys, .inf
> and the _m.inf files. I used the code from the Bindview application:
> 
>   hr = GetPnpID( lpszInfFile, &lpszPnpID );
> 
>   if ( hr == S_OK ) {
> 
>     hr = InstallSpecifiedComponent( lpszInfFile,
>     lpszPnpID,
>     &GUID_DEVCLASS_NETSERVICE );
> 
>     CoTaskMemFree( lpszPnpID );
>  }
> 
> This completes without any errors but does not complain about the
> "driver not being signed" as it does if I install the driver manually.
> When I check the network interfaces, the driver appears in the list and
> the .sys file is also present in the Drivers directory. However, this
> doesn't quite work as when I try to use the driver later in another
> application, it errors out saying "driver not loaded".
> 
> Interestingly, if I install the driver manually followed by a manual
> uninstall and then run the installer using the above code segment, it
> works just fine. This makes me think I might not be calling the right
> call in the BindView app or missing some other call that is required
> for a complete install.
> 
> The steps for a manual install that works are:
> 
> 1. On the desktop, right-click the My Network Places icon and choose
> Properties.
> 2. Right-click on the relevant Local Area Connection icon and choose
> Properties.
> 3. Click Install, then Service, then Add, then Have Disk.
> 4. Browse to the drive/directory containing the inf file. Click OK
> 
> 
> I am totally stumped by this and any help would be highly appreciated.
> 
> Thanks!
 
 

3.Installing NDIS intermediate mode driver using Bindview application code

Hi:

I am trying to automatically install an IM driver given the .sys, .inf
and the _m.inf files. I used the code from the Bindview application:

  hr = GetPnpID( lpszInfFile, &lpszPnpID );

  if ( hr == S_OK ) {

    hr = InstallSpecifiedComponent( lpszInfFile,
    lpszPnpID,
    &GUID_DEVCLASS_NETSERVICE );

    CoTaskMemFree( lpszPnpID );
 }

This completes without any errors but does not complain about the
"driver not being signed" as it does if I install the driver manually.
When I check the network interfaces, the driver appears in the list and
the .sys file is also present in the Drivers directory. However, this
doesn't quite work as when I try to use the driver later in another
application, it errors out saying "driver not loaded".

Interestingly, if I install the driver manually followed by a manual
uninstall and then run the installer using the above code segment, it
works just fine. This makes me think I might not be calling the right
call in the BindView app or missing some other call that is required
for a complete install.

The steps for a manual install that works are:

1. On the desktop, right-click the My Network Places icon and choose
Properties.
2. Right-click on the relevant Local Area Connection icon and choose
Properties.
3. Click Install, then Service, then Add, then Have Disk.
4. Browse to the drive/directory containing the inf file. Click OK


I am totally stumped by this and any help would be highly appreciated.

Thanks!

4.IP address not setting with NDIS IM installed?

Hi, All!

    What could be the origin to following problem:
When I change TCP/IP host address in the card properties with my IM 
filter driver installed, ipconfig remain to show _previous_ IP address 
(before change), and only when I uninstall my IM driver - ipconfig 
starts to show _new_ IP address.

Say, at start (when no USB device plugged in) - ipconfig shows up 
"0.0.0.0". Then I install IM driver and plug USB card in. Then I change 
IP address to "192.168.5.239" and ipconfig still shows "0.0.0.0". When I 
remove IM driver - ipconfig starts to show "192.168.5.239". If I install 
IM driver back - ipconfig shows IP "192.168.5.239", but when I change 
it, say, to "192.168.5.111" - it continues to show "192.168.5.239" until 
I uninstall IM filter driver.

What the f*? I mean what could be handled wrong to lead to described 
behaviour?

Thanks in advance.

5.NDIS Mux IM Driver : NDIS Test Fail - Should not have resent any packets

Hello,

  I am developing a NDIS Mux intermediate driver for 
winXP/2003 Server OS. I had use Mux Intermediate Driver 
Sample code from Microsoft DDK 2003 as a base. For 
send/receive packet,
I allocate new packet and copy original packet to it and 
use that packet for send/receive. This 
version of my driver work fine with microsoft NDIS 
4.03.0044 Test with Load/Unload and packet transmission 
related test. 

   Now for improve performance, I had implemented NDIS 
Packet Stacking method for NDIS 51 and 
receive/transmit packet. It works fine with ping and file 
transfer. But in NDIS test It gives some error like.

	FAILED: [23078] Should not have resent any packets.

	May be my PtReceiveComplete Routin not call 
proplerly or call many time than necessary.

May be this error come with also from other test of NDIS. 
I attached log of this 2c_LoadUnlod test  Log.

 	Can you tell me that what test error does mean ? 
Also help me related to implement of Packet _stack in 
receive/transmit routine so I can remove above error.


Thankyou.

Amit Dhaduk


Log of my Load/Unlod test fail :---

GetReceiveResults
- OpenId = 0x02010001

***** Per-Source-Address Packet reception data ****
Source Address : 06-0A-D1-00-45-01
Packets Received            =        200  (Sum of next two 
lines)
 -- Receive handler         =        200  (Ndis calls to 
ProtocolReceive)
 -- ReceivePacket handler   =          0  (Ndis calls to 
ProtocolReceivePacket)
Packet Receives Complete    =        300  (Ndis calls to 
ProtocolReceiveComplete)
Packets Resent              =        100
Packet Resends Pended       =        100
Packet Resends Completed    =        100
 
Source Address : 0E-1A-D1-89-57-89
Packets Received            =        100  (Sum of next two 
lines)
 -- Receive handler         =          0  (Ndis calls to 
ProtocolReceive)
 -- ReceivePacket handler   =        100  (Ndis calls to 
ProtocolReceivePacket)
Packet Receives Complete    =          0  (Ndis calls to 
ProtocolReceiveComplete)
 
***** Aggregated Packet reception data ****
Total Packets Received            =        300  (Sum of 
next two lines)
 -- Total Receive handler         =        200  (Ndis 
calls to ProtocolReceive)
 -- Total ReceivePacket handler   =        100  (Ndis 
calls to ProtocolReceivePacket)
Total Packet Receives Complete    =        300  (Ndis 
calls to ProtocolReceiveComplete)
Total Packets Resent              =        100
Total Packet Resends Pended       =        100
Total Packet Resends Completed    =        100

FAILED: [23078] Should not have resent any packets

WARNED: Received acceptable but less than expected number 
of packets




6. Custom OIDs in my NDIS IM Driver - One class with multiple items

7. Custom OIDs in my NDIS IM Driver - One class with multiple ite

8. More than one NDIS IM driver?



Return to device driver

 

Who is online

Users browsing this forum: No registered users and 50 guest