fastiodetachdevice

hi, i am writing an encryption filter driver on top of FS.

if i receive a fastiodetachdevice call for my device attached to fat’s
device for the floppy, but still have an irp waiting for the completion
routine, can i assume that the completion routine will not return and forget
about it?

the reason i am asking is because after i received a create request and sent
it down to the FS, i received the fastiodetachdevice call although the
create request’s completion routine has not been called. as my device will
only detach when there’s no more outstanding requests, this has cause the
detach to deadlock. i am hoping that i can just forget about the outstanding
request and proceed with the detach.

Ho Mun Chuen
xxxxx@pmail.ntu.edu.sg
@@ “Not everything that counts can be counted;
<” )~ and not everything that can be counted counts"
//\ … Albert Einstein

FSDs create a new device object each time the removable media
is replaced by another media(strictly speaking, FSDs sometimes
reuse their previous device objects, so you should check if your
device object is already attached to the FSD’s before you do).
So FastIoDetachDevice() can be called to detach the previous
FSD’s device object while the create request’s completion routine
for a new device object is being processed.
I think you should have the array of the device objects you
created for the removable media in order to manage them.

I hope this helps.

Regards,

Takashi

actually the create request i mentioned was for a file on the removable
media, not for the media itself… sorry for not being specific enough…

Ho Mun Chuen
xxxxx@pmail.ntu.edu.sg
@@ “Not everything that counts can be counted;
<” )~ and not everything that can be counted counts"
//\ … Albert Einstein
----- Original Message -----
From:
To: “File Systems Developers”
Sent: Monday, October 16, 2000 8:11 AM
Subject: [ntfsd] Re: fastiodetachdevice

FSDs create a new device object each time the removable media
is replaced by another media(strictly speaking, FSDs sometimes
reuse their previous device objects, so you should check if your
device object is already attached to the FSD’s before you do).
So FastIoDetachDevice() can be called to detach the previous
FSD’s device object while the create request’s completion routine
for a new device object is being processed.
I think you should have the array of the device objects you
created for the removable media in order to manage them.

I hope this helps.

Regards,

Takashi


You are currently subscribed to ntfsd as: xxxxx@pmail.ntu.edu.sg
To unsubscribe send a blank email to $subst(‘Email.Unsub’)