WldpCanExecuteFile 函数 (wldp.h)
查询执行策略是否允许在提供的文件中执行代码。
语法
HRESULT WldpCanExecuteFile(
[in] REFGUID host,
[in] WLDP_EXECUTION_EVALUATION_OPTIONS options,
[in] HANDLE fileHandle,
[in, optional] PCWSTR auditInfo,
[out] WLDP_EXECUTION_POLICY *result
);
参数
[in] host
指定调用程序的 GUID。 有关可用于此参数的预定义 GUID 列表,请参阅 WLDP 主机 GUID。 对于未定义特定值的主机,请使用 GUID WLDP_HOST_GUID_OTHER。
[in] options
WLDP_EXECUTION_EVALUATION_OPTIONS的值,指定执行授权请求的选项。
[in] fileHandle
正在验证执行审批的文件的句柄。
重要
调用方应仅将打开的文件句柄传递给 WldpCanExecuteFile ,不应在特定文件上缓存安全授权。 应假定在关闭特定文件句柄时撤销运行特定文件的授权。 这些措施是防止可能破坏脚本强制策略 的 TOC/TOU 漏洞 所必需的。
[in, optional] auditInfo
应包含相关上下文信息的字符串,供调用方用于调试。 如果授权请求失败,此字符串将记录在事件日志中的“Applocker/MSI 和脚本/操作”下。 调用方应注意,虽然 AuditInfo 的大小不受限制,但字符串的大小应小于 4K 字节,因为它将放置在事件日志中。
[out] result
从 WLDP_EXECUTION_POLICY 枚举接收指向值的指针,指示查询的执行策略结果。
返回值
返回成功时S_OK,否则返回失败代码。
注解
此方法作为 WldpGetLockdownPolicy 的替代提供。 此接口通过以下方式与 WldpGetLockdownPolicy 进行区分:
- 鼓励调用方确保主题 (文件、缓冲区或流) 通过 os 执行策略。
- 允许调用应用提供用于诊断目的的其他审核信息。
- 允许验证缓冲区和代码流。
- 简化了调用模式。
- 支持细化执行策略,例如 cmd 或 powershell 中的交互模式
要求
最低受支持的客户端 | Windows 11内部版本 22621 |
最低受支持的服务器 | Windows 11内部版本 22621 |
标头 | wldp.h |
Library | wldp.lib |
DLL | wldp.dll |