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

另请参阅