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); } }
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); } } }
private static extern int HttpInitialize(HttpApiVersion version, int flags, IntPtr mustBeZero);