我想恢复共享文件夹的属性。我使用NetShareGetInfo函数,但它向我返回了2310错误。该文件夹不存在。 这是我的代码:
NET_API_STATUS pStatus;
SHARE_INFO_2 pBuffer;
//here status return 2310 - This shared resource does not exist.
pStatus=NetShareGetInfo(nullptr, L"\\\\PCRT-S35521\\sharedFolder", 2, reinterpret_cast<LPBYTE*>(&pBuffer));
有人知道这个问题可能来自哪里吗?因为网络路径正确,权限也正确
答案 0 :(得分:2)
文档说,如果第一个参数(服务器名称)为NULL
,则使用本地计算机。这就是为什么您的代码返回NERR_NetNameNotFound
的原因。
此外,您错误地传递了最终参数。您需要额外的间接级别,因为该函数分配了缓冲区。
它应该看起来像这样:
NET_API_STATUS pStatus;
SHARE_INFO_2 *pBuffer;
pStatus = NetShareGetInfo(L"PCRT-S35521", L"sharedFolder", 2, (LPBYTE)&pBuffer);
请记住按照文档中给出的说明销毁缓冲区:
此缓冲区由系统分配,必须使用
NetApiBufferFree
函数释放。