How can I reparse a device to a file in my minifilter driver in Vista?
- From: doskey <doskey.lee@xxxxxxxxx>
- Date: Thu, 10 Jul 2008 21:20:24 -0700 (PDT)
Hi all.
How can I reparse a device to a file in my minifilter driver?
I need to handle RAW disk access from my minifiler driver. But
minifilter is a file system filter driver. It should be not received
all read/write requests of raw device such as disk, IDE, SCSI, etc.
So I reparse device to a file in PreCreate of my minifilter driver.
When I can handle all read/write requests in the minifilter. It is
working well in WinXP. But it should be BSOD in Vista anyway. And
BugCheck is DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN. It means
that I can't return reparse when open a volume. I have read the codes
of WRK. It bug check at following place.
//
// No driver should return this status for a volume open.
// If they do then we would skip the security check as override is
true.
// To catch that case we bugcheck here.
//
if (op->Override) {
KeBugCheckEx(DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN,
(ULONG_PTR)parseDeviceObject,
(ULONG_PTR)deviceObject,
(ULONG_PTR)CompleteName,
(ULONG_PTR)ioStatus.Information
);
Then Override is member of OPEN_PACKET. This is its comment.
//
// The following is used to indicate that an open of a device has been
// performed and the access check for the device has already been
done,
// but because of a reparse, the I/O system has been called again for
// the same device. Since the access check has already been made, the
// state cannot handle being called again (access was already granted)
// and it need not anyway since the check has already been made.
//
BOOLEAN Override;
Why can I reparse it in WinXP? How can I do this in Vista?
Thanks
Doskey.
.
- Follow-Ups:
- Prev by Date: Re: How to DTM Client?
- Next by Date: Re: How can I reparse a device to a file in my minifilter driver in Vista?
- Previous by thread: Re: Device Manager question about USB device
- Next by thread: Re: How can I reparse a device to a file in my minifilter driver in Vista?
- Index(es):