コード例 #1
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
        public void DestroySublayer(Sublayer sublayer)
        {
            sublayer.DestroyAllFilters();

            IpFilterNative.DestroySublayer(
                Session.Handle,
                sublayer.Id);
        }
コード例 #2
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
        public Sublayer CreateSublayer(DisplayData displayData, uint weight)
        {
            var id = IpFilterNative.CreateSublayer(
                Session.Handle,
                ProviderId,
                displayData,
                weight);

            return(new Sublayer(this, id));
        }
コード例 #3
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
        public ProviderContext CreateProviderContext(DisplayData displayData, byte[] data)
        {
            var id = IpFilterNative.CreateProviderContext(
                Session.Handle,
                ProviderId,
                displayData,
                data);

            return(new ProviderContext(id));
        }
コード例 #4
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
        public Callout CreateCallout(DisplayData displayData, Guid key, Layer layer)
        {
            var id = IpFilterNative.CreateCallout(
                Session.Handle,
                key,
                ProviderId,
                displayData,
                layer);

            return(new Callout(id));
        }
コード例 #5
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public void DestroyFilter(Guid filterId)
        {
            try
            {
                IpFilterNative.DestroyFilter(
                    Session.Handle,
                    filterId);
            }
            catch (FilterNotFoundException)
            {
            }

            RemoveFilter(filterId);
        }
コード例 #6
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateLayerFilter(
            DisplayData displayData,
            Action action,
            Layer layer,
            uint weight)
        {
            var filterId = IpFilterNative.CreateLayerFilter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                action,
                weight, Guid.Empty, Guid.Empty);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #7
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateRemoteTcpPortFilter(
            DisplayData displayData,
            Action action,
            Layer layer,
            uint weight,
            uint port)
        {
            var filterId = IpFilterNative.CreateRemoteTcpPortFilter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                action,
                weight,
                port);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #8
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateNetInterfaceFilter(
            DisplayData displayData,
            Action action,
            Layer layer,
            uint weight,
            string interfaceId)
        {
            var filterId = IpFilterNative.CreateNetInterfaceFilter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                action,
                weight,
                interfaceId);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #9
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateLayerCalloutFilter(
            DisplayData displayData,
            Layer layer,
            uint weight,
            Callout callout,
            ProviderContext providerContext)
        {
            var filterId = IpFilterNative.CreateLayerFilter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                Action.Callout,
                weight,
                callout.Id,
                providerContext.Id);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #10
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateRemoteNetworkIPv4Filter(
            DisplayData displayData,
            Action action,
            Layer layer,
            uint weight,
            NetworkAddress addr)
        {
            var filterId = IpFilterNative.CreateRemoteNetworkIPv4Filter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                action,
                weight,
                Guid.Empty,
                Guid.Empty,
                addr);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #11
0
ファイル: Sublayer.cs プロジェクト: time4vps/vpn-win-app
        public Guid CreateRemoteNetworkIPv4CalloutFilter(
            DisplayData displayData,
            Layer layer,
            uint weight,
            Callout callout,
            ProviderContext providerContext,
            NetworkAddress addr)
        {
            var filterId = IpFilterNative.CreateRemoteNetworkIPv4Filter(
                Session.Handle,
                ProviderId,
                Id,
                displayData,
                layer,
                Action.Callout,
                weight,
                callout.Id,
                providerContext.Id,
                addr);

            AddFilter(filterId);

            return(filterId);
        }
コード例 #12
0
 public void Close()
 {
     IpFilterNative.DestroySession(Handle);
 }
コード例 #13
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
 public void DestroyProviderContext(ProviderContext context)
 {
     IpFilterNative.DestroyProviderContext(
         Session.Handle,
         context.Id);
 }
コード例 #14
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
 public void DestroyCallout(Callout callout)
 {
     IpFilterNative.DestroyCallout(
         Session.Handle,
         callout.Id);
 }
コード例 #15
0
 public void CommitTransaction()
 {
     IpFilterNative.CommitTransaction(Handle);
 }
コード例 #16
0
 public void AbortTransaction()
 {
     IpFilterNative.AbortTransaction(Handle);
 }
コード例 #17
0
 public static Session Dynamic()
 {
     return(new Session(IpFilterNative.CreateDynamicSession()));
 }
コード例 #18
0
 public void StartTransaction()
 {
     IpFilterNative.StartTransaction(Handle);
 }
コード例 #19
0
ファイル: IPFilter.cs プロジェクト: time4vps/vpn-win-app
 public static IpFilter Create(Session session, DisplayData displayData)
 {
     return(new IpFilter(
                session,
                IpFilterNative.CreateProvider(session.Handle, displayData)));
 }