Hi People,
I have gradually been converting my filter driver to XP compatibility. The
problem I have now is that when I open my driver for communication it
straight away BSODS and reboots - this doesn’t occur under NT or 2000 where
everything works fine.
It seems so straight forward to me.
Delphi code for opening my driver:
VxDHandle := INVALID_HANDLE_VALUE;
StrCopy(VxDName, ‘\.\MYDRIVER’);
VxDHandle:=CreateFile(
VxDName,
0,
FILE_SHARE_READ + FILE_SHARE_WRITE,
nil,
OPEN_EXISTING,
0,
0);
if VxDHandle <> INVALID_HANDLE_VALUE then
begin
CloseHandle(VxDHandle);
showmessage(‘opened and closed ok’);
end;
BTW - I use the same code for opening my 95/98/Me driver, thus the vxd
references.
My filter driver code is based on the sfilter example.
My ‘sfcreate’ routine begins with:
if ( GUIDevice == DeviceObject ) { // It’s a call
from our driver
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = FILE_OPENED;
IoCompleteRequest( Irp, IO_NO_INCREMENT );
return STATUS_SUCCESS;
}
Which should just send it straight out without a worry.
Guidevice gets created in my DriverEntry routine.
status = IoCreateDevice(
DriverObject,
0,
&nameString,
FILE_DEVICE_DISK_FILE_SYSTEM,
0,
FALSE,
&GUIDevice
);
Since my Delphi code doesn’t call deviceiocontrol I can’t see that being
the problem.
Does anyone have any idea ?
Thanks for any help in advance.
Regards,
Graham Allen
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