都是用同样的程序:
DWORD AddNetDisk(char * pszUser,char * pszPwd,char * LocalDisk,char * pszRmt)
{
NETRESOURCE nr;
DWORD res;
char szUserName[32],
szPassword[32],
szLocalName[32],
szRemoteName[MAX_PATH];

strcpy(szUserName,pszUser);
strcpy(szPassword,pszPwd);
strcpy(szLocalName,LocalDisk);
strcpy(szRemoteName,pszRmt);
//
// Assign values to the NETRESOURCE structure.
//
nr.dwType = RESOURCETYPE_ANY;
nr.lpLocalName = szLocalName;
nr.lpRemoteName = szRemoteName;
nr.lpProvider = NULL;

res = WNetAddConnection2(&nr, szPassword, szUserName, FALSE);

return res;
}
int main()
{
DWORD d = AddNetDisk("user","P1","M:","\\\\192.168.10.88\\ost");
char pszD[5] = {0};
sprintf(pszD,"%d",d);
printf(pszD);
return 0;
}
在普通XP里面会成功,打印0,而在PE里面却失败,报1312,怎么回事?

解决方案 »

  1.   

    看了下,在那PE里面运行程序,程序里用API获取当前用户,用户是SYSTEM,
      

  2.   

    1312: A specified logon session does not exist. It may already have been terminated. 
      

  3.   

    我在此PE里用NET USE来映射,语句如下:
    net use \\192.168.10.88\ipc$ P1 /u:ost\user
    net use m: \\192.168.10.88\ost
    这样是能映射成功的。
      

  4.   

    应该就是用户SESSION的问题了,结贴