c# - 注册表中的 UrlAcl 信息

标签 c# .net windows

有谁知道UrlAcl数据如何存储在注册表中的规范吗?我知道我可以在 HKLM\System\CurrentControlSet\services\HTTP\Parameters\UrlAclInfo 中找到这些值。每个值名称都是正在注册的实际 URL,但是实际数据的其余部分是二进制的。我需要能够获取 urlacl 注册的用户名。有谁知道我在哪里可以找到如何解析二进制数据以获取我需要的信息?

谢谢!

最佳答案

另一种方法是让您的程序运行 netsh http show urlacl,重定向输出,然后解析它。请参阅Redirecting console output to another application举个例子。

理想情况下,您能够从 Windows API 访问信息。我知道有问题的 API 曾一度“未发布”。我不知道现在是否已记录在案。

更新:也许HttpQueryServiceConfiguration是您要找的吗? HttpApi 函数有多个 C# 包装器。搜索 [httpapi C#]。我不知道他们中的任何一个是否会做你想要的,但他们看起来很有前途。

根据文档,HttpApi 可用于带有 SP2 的 Windows XP、Windows Server 2003 以及所有更高版本。

关于c# - 注册表中的 UrlAcl 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12206963/

相关文章:

c# - .NET - 将多个字符串值映射到 XmlEnumAttribute

c++ - 从 ShellExecute 获取 PID

c++ - 删除注册表项 - MSDN 示例中的错误

c# - .NET Core 后台任务的神秘行为

c# - 如何使用 WriteEndElement 检查元素名称

C#:顺序函数调用如何工作? (效率方面)

c++ - 如何在windows服务中显示启动错误信息?

c# - EntityFramework 过程或函数 '' 需要参数 '',但未提供

c# - 当客户端请求具有自签名证书时,为什么我的 Application_BeginRequest() 没有被调用?

c# - 有没有办法测试一个潜在的僵尸交易,看看它是否可以回滚?