コード例 #1
0
 public static void ModifyReservation(string urlPrefix, string accountName, bool removeReservation)
 {
     string sddl = CreateSddl(accountName);
     HttpServiceConfigUrlAclSet configInfo;
     configInfo.Key.UrlPrefix = urlPrefix;
     configInfo.Param.Sddl = sddl;
     HttpApiVersion httpApiVersion =
         new HttpApiVersion(1, 0);
     int errorCode = HttpInitialize(httpApiVersion, HttpInitializeConfig, IntPtr.Zero);
     if (0 != errorCode)
         throw GetException("HttpInitialize", errorCode);
     try
     {
         // do our best to delete any existing ACL
         errorCode = HttpDeleteServiceConfigurationAcl(IntPtr.Zero, HttpServiceConfigUrlAclInfo, ref configInfo, Marshal.SizeOf(typeof(HttpServiceConfigUrlAclSet)), IntPtr.Zero);
         if (removeReservation)
         {
             if (0 != errorCode)
                 throw GetException("HttpDeleteServiceConfigurationAcl", errorCode);
             return;
         }
         errorCode = HttpSetServiceConfigurationAcl(IntPtr.Zero, HttpServiceConfigUrlAclInfo, ref configInfo, Marshal.SizeOf(typeof(HttpServiceConfigUrlAclSet)), IntPtr.Zero);
         if (0 != errorCode)
             throw GetException("HttpSetServiceConfigurationAcl", errorCode);
     }
     finally
     {
         errorCode = HttpTerminate(HttpInitializeConfig, IntPtr.Zero);
         if (0 != errorCode)
             throw GetException("HttpTerminate", errorCode);
     }
 }
コード例 #2
0
        public static void ModifyReservation(string urlPrefix, string accountName, bool removeReservation)
        {
            string sddl = CreateSddl(accountName);
            HttpServiceConfigUrlAclSet configInfo;

            configInfo.Key.UrlPrefix = urlPrefix;
            configInfo.Param.Sddl    = sddl;
            HttpApiVersion httpApiVersion =
                new HttpApiVersion(1, 0);
            int errorCode = HttpInitialize(httpApiVersion, HttpInitializeConfig, IntPtr.Zero);

            if (0 != errorCode)
            {
                throw GetException("HttpInitialize", errorCode);
            }
            try
            {
                // do our best to delete any existing ACL
                errorCode = HttpDeleteServiceConfigurationAcl(IntPtr.Zero, HttpServiceConfigUrlAclInfo, ref configInfo, Marshal.SizeOf(typeof(HttpServiceConfigUrlAclSet)), IntPtr.Zero);
                if (removeReservation)
                {
                    if (0 != errorCode)
                    {
                        throw GetException("HttpDeleteServiceConfigurationAcl", errorCode);
                    }
                    return;
                }
                errorCode = HttpSetServiceConfigurationAcl(IntPtr.Zero, HttpServiceConfigUrlAclInfo, ref configInfo, Marshal.SizeOf(typeof(HttpServiceConfigUrlAclSet)), IntPtr.Zero);
                if (0 != errorCode)
                {
                    throw GetException("HttpSetServiceConfigurationAcl", errorCode);
                }
            }
            finally
            {
                errorCode = HttpTerminate(HttpInitializeConfig, IntPtr.Zero);
                if (0 != errorCode)
                {
                    throw GetException("HttpTerminate", errorCode);
                }
            }
        }
コード例 #3
0
 private static extern int HttpInitialize(HttpApiVersion version, int flags, IntPtr mustBeZero);
コード例 #4
0
 private static extern int HttpInitialize(HttpApiVersion version, int flags, IntPtr mustBeZero);