none
访问共享目录的一个问题:access to the path is denied RRS feed

  • 问题

  • 我的c#应用程序需要访问不同平台上的共享目录,我使用的是Windows API,代码片段如下:

                 try
                {
                    bool isSuccess = LogonUser(
                        userName,
                        domainName,
                        password,
                        LOGON32_LOGON_NEW_CREDENTIALS,
                        LOGON32_PROVIDER_DEFAULT,
                        ref token);
                    if (!isSuccess)
                    {
                        RaiseLastError();
                    }

                    isSuccess = DuplicateToken(token, SECURITY_LEVEL_IMPERSONATION, ref dupToken);
                    if (!isSuccess)
                    {
                        RaiseLastError();
                    }

                    WindowsIdentity newIdentity = new WindowsIdentity(dupToken);
                    ctx = newIdentity.Impersonate();

                    DirectoryInfo di = new DirectoryInfo(sharedFolderPath);
                    if (!di.Exists)
                    {
                        return false;
                    }

                    // 以下是访问shared folder的代码...

                   ... ...

    现在的问题是,当访问目录需要用户和密码的时候,有些XP的机器可以访问,而在有些XP会出现以下异常:

    Access to the path xxx is denied.

    高手请试刀,谢谢。

    2012年7月10日 3:38

答案

全部回复