Hello,
I’m working on an FSD driver that calls ZwOpenFile(), ZwCreateFile(),
ZwQueryInformationFile(), etc. routines to access files from a remote
server.
If the server fails, calls to Zw file functions fail with
STATUS_CONNECTION_DISCONNECTED. Of course, that’s understandable given that
the server no longer exists. Regardless, this can present recovery problems
to many applications, so I would like to retry the function call until the
server connection is re-established or some predetermined timeout period
expires.
However, if the server reboots and then mounts and shares the volume, calls
to the Zw functions on the client still fail with
STATUS_CONNECTION_DISCONNECTED. Is there anyway to refresh the file handles
besides calling ZwOpenFile() again. The ZwOpenFile() route is quite
difficult/ugly because it involves keeping the pathnames for the entire
directory tree. I’d very much like to avoid such a solution.
Any suggestions? Thanks in advance.
Cheers,
Steve
I believe that your going to have to reopen the connection.
–
Mark Cariddi
Consulting Associate
OSR, Open Systems Resources, Inc.
http://www.osr.com/
“Steve Soltis” wrote in message news:xxxxx@ntfsd…
> Hello,
>
> I’m working on an FSD driver that calls ZwOpenFile(), ZwCreateFile(),
> ZwQueryInformationFile(), etc. routines to access files from a remote
> server.
>
> If the server fails, calls to Zw file functions fail with
> STATUS_CONNECTION_DISCONNECTED. Of course, that’s understandable given
> that
> the server no longer exists. Regardless, this can present recovery
> problems
> to many applications, so I would like to retry the function call until the
> server connection is re-established or some predetermined timeout period
> expires.
>
> However, if the server reboots and then mounts and shares the volume,
> calls
> to the Zw functions on the client still fail with
> STATUS_CONNECTION_DISCONNECTED. Is there anyway to refresh the file
> handles
> besides calling ZwOpenFile() again. The ZwOpenFile() route is quite
> difficult/ugly because it involves keeping the pathnames for the entire
> directory tree. I’d very much like to avoid such a solution.
>
> Any suggestions? Thanks in advance.
>
> Cheers,
>
> Steve
>
>