NetAccessGetInfo() on Redirected Drives

ID: Q93443


The information in this article applies to:
  • Microsoft LAN Manager, versions 2.0, 2.1


SUMMARY

PROBLEM ID: PRLAN9212004


SYMPTOMS

The servername obtained from resolving a redirected drive overrides the one provided with the NetAccessGetInfo() API.

NetAccessGetInfo() is used to get permission information for a resource. It is used as follows:


      unsigned far pascal
      NetAccessGetInfo(
         char far * servername,  /* where to execute */ 
         char far * resource,    /* resource pathname */ 
         short level,            /* level of detail */ 
         char far * buf,         /* return data buffer */ 
         USHORT buflen,          /* size of buf */ 
         USHORT far * btotal     /* total bytes available */ 
         ) 
The API should do the following

      if(servername == NULL)
         if(IsRedirectedDrive(resource))
            return ERROR; 
because redirected drives should be resolved only if you say "change ACLs on my E drive, which just happens to be redirected". If you actually pass NetAccessGetInfo() a servername, it should not resolve any drive letters because they are not local.


CAUSE

Suppose \\server1 provides a share


      net share share1 =  f:\usrs\usrshare 
and a workstation connects to this share as follows:

      net use e: \\server1\share1 
The following NetAccessGetInfo() call from the workstation will not be resolved as expected:

      NetAccessGetInfo("\\server2","e:",parm,...); 
What occurs is:

      NetAccessGetInfo("\\server1","f:\usrs\usrshare",parm,...); 
As a result, the API gets information from the wrong server. This is undesirable because it is common for servers to have D and E drives and it is also common for workstations that do not have D or E drives to use D and E on the server as redirected drives. The validity of ACLs cannot be guaranteed in this situation.


RESOLUTION

Do not use NetAccessGetInfo() on a drive that is redirected to a server other than the one mentioned as the first parameter to the call.


STATUS

Microsoft has confirmed this to be a problem in LAN Manager versions 2.0 and 2.1. We are researching this problem and will post new information here as it becomes available.

Additional query words:

Keywords :
Version : :2.0,2.1
Platform :
Issue type :


Last Reviewed: November 10, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.