我正在尝试使用 NetShareAdd() Windows API 函数在 Linux 框中远程创建共享文件夹。我有一个使用 samba 共享的文件夹,我可以在那里远程创建目录;但是当我尝试在这样的机器上创建网络共享时,我总是得到 ACCESS_DENIED 。
你知道这是否可能吗?如果是的话,你对如何使它起作用有一些想法吗?
这是一个小测试:
int main()
{
SHARE_INFO_2 sh;
sh.shi2_netname = L"shr004x";
sh.shi2_type = STYPE_DISKTREE;
sh.shi2_remark = L"This is a shared test";
sh.shi2_permissions = ACCESS_ALL;
sh.shi2_max_uses = 17;
sh.shi2_current_uses = 1;
sh.shi2_path = L"/mnt/Storage/Test/test001"; //No matter what I put here, I always get access denied (5)
sh.shi2_passwd = NULL;
DWORD hr = ::NetShareAdd(L"172.16.212.40", 2, (LPBYTE) &sh, NULL);
cout << hr << endl;
getchar();
}