C# HttpSetServiceConfiguration (URLACL)

本文详细介绍了如何使用HTTPAPI函数集配置服务URLACL,包括初始化、设置配置信息、终止连接等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抄袭下面网站的内容。没有新意。

http://www.pinvoke.net/default.aspx/httpapi.httpsetserviceconfiguration

 

public static void AddUrlAcl(string networkURL, string securityDescriptor)
{
    uint retVal = 0;
    retVal = HttpInitialize(new HTTPAPI_VERSION(1, 0), HTTP_INITIALIZE_CONFIG, IntPtr.Zero);
    if (0 != retVal)
    {
        throw new Win32Exception(Convert.ToInt32(retVal));
    }

    HTTP_SERVICE_CONFIG_URLACL_KEY keyDesc = new HTTP_SERVICE_CONFIG_URLACL_KEY(networkURL);
    HTTP_SERVICE_CONFIG_URLACL_PARAM paramDesc = new HTTP_SERVICE_CONFIG_URLACL_PARAM(securityDescriptor);
    HTTP_SERVICE_CONFIG_URLACL_SET inputConfigInfoSet = new HTTP_SERVICE_CONFIG_URLACL_SET();

    inputConfigInfoSet.KeyDesc = keyDesc;
    inputConfigInfoSet.ParamDesc = paramDesc;

    IntPtr pInputConfigInfo = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(HTTP_SERVICE_CONFIG_URLACL_SET)));
    Marshal.StructureToPtr(inputConfigInfoSet, pInputConfigInfo, false);

    retVal = HttpSetServiceConfiguration(
        IntPtr.Zero,
        HTTP_SERVICE_CONFIG_ID.HttpServiceConfigUrlAclInfo,
        pInputConfigInfo,
        Marshal.SizeOf(inputConfigInfoSet),
        IntPtr.Zero);

    Marshal.FreeCoTaskMem(pInputConfigInfo);
    HttpTerminate(HTTP_INITIALIZE_CONFIG, IntPtr.Zero);

    if (0 != retVal)
    {
        throw new Win32Exception(Convert.ToInt32(retVal));
    }
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值