You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SetNamedSecurityInfo返回错误代码87的原因排查与解决求助

解决SetNamedSecurityInfo返回错误87(参数不正确)的问题

核心问题分析

  • 对象类型参数不匹配:你传入的第二个参数是SE_FILE_OBJECT,但网络共享资源对应的对象类型应为SE_LMSHARE。SE_FILE_OBJECT仅适用于本地文件、目录这类文件系统对象,用在共享资源上会直接触发参数错误(错误码87)。
  • 共享路径格式错误:C++字符串中反斜杠需要转义,你写的L"//TEST/test"不符合Windows网络路径规范,正确格式应为L"\\\\TEST\\test"。这种格式错误结合对象类型错误,会优先触发参数错误,而非路径不存在的错误67。

修正后的代码示例

LPWSTR shareName = L"\\\\TEST\\test";
DWORD dwRes = SetNamedSecurityInfo(shareName, SE_LMSHARE, SACL_SECURITY_INFORMATION, NULL, NULL, NULL, NULL);
if (ERROR_SUCCESS != dwRes) {
    cout << "Error while setting SACL in SetNamedSecurityInfo Error  " << dwRes << endl;
    return -1;
}

额外注意事项

即使修正上述参数,设置SACL还需要进程拥有SE_SECURITY_NAME权限,通常需要以管理员身份运行程序。

内容的提问来源于stack exchange,提问作者Naveen S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 02:04:59