Re: Need info on STOP 0x35 (IrpStackLocations) during interop testing (long!)

“Bartjan Wattel” wrote in message news:xxxxx@ntfsd…
>
>To pass the IRP to the lower level driver, I use:
>
>IoCopyCurrentIrpStackLocationToNext(Irp);
>IoSetCompletionRoutine( Irp, CompletionRoutine,
> (PVOID) pCompletionContext, TRUE, TRUE, TRUE );
>return (IoCallDriver( DeviceExtension->NextDeviceObject, Irp ));
>

This isn’t the answer to your question, but any time I see the above
sequence I just HAVE to ask:

You DO propagate the pending bit in your completion routine, right?

In terms of your STOP 0x35, that really does mean you’re out of IRP stack
locations. It is weird that you appear twice in the I/O stack. Check out
the relation of the device objects using the DeviceTree utility (in the
XP/.NET DDK tools directory or download from www.osr.com). Also check
DeviceObject->StackSize in the relevant device objects.

Run your driver under driver verifier (on XP or .NET) for more solid
debugging feedback. Verifier is MUCH more powerful on XP than on Win2K.

PeterGV
OSR


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com