Esempio n. 1
0
        public static Guid CreateRemoteNetworkIPv4Filter(
            IntPtr sessionHandle,
            Guid providerId,
            Guid sublayerId,
            DisplayData displayData,
            Layer layer,
            Action action,
            uint weight,
            Guid calloutId,
            Guid providerContextId,
            NetworkAddress address)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateRemoteNetworkIPv4Filter(
                              sessionHandle,
                              ref providerId,
                              ref sublayerId,
                              ref displayData,
                              (uint)layer,
                              (uint)action,
                              weight,
                              ref calloutId,
                              ref providerContextId,
                              ref address,
                              ref id));

            return(id);
        }
Esempio n. 2
0
        public static Guid CreateNetInterfaceFilter(
            IntPtr sessionHandle,
            Guid providerId,
            Guid sublayerId,
            DisplayData displayData,
            Layer layer,
            Action action,
            uint weight,
            string interfaceId)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateNetInterfaceFilter(
                              sessionHandle,
                              ref providerId,
                              ref sublayerId,
                              ref displayData,
                              (uint)layer,
                              (uint)action,
                              weight,
                              interfaceId,
                              ref id));

            return(id);
        }
Esempio n. 3
0
        public static Guid CreateProviderContext(
            IntPtr sessionHandle,
            Guid providerId,
            DisplayData displayData,
            byte[] data)
        {
            var id      = Guid.Empty;
            var dataPtr = IntPtr.Zero;
            var size    = 0;

            if (data != null && (size = data.Length) != 0)
            {
                dataPtr = Marshal.AllocHGlobal(size);
                Marshal.Copy(data, 0, dataPtr, size);
            }

            try
            {
                AssertSuccess(() => PInvoke.CreateProviderContext(
                                  sessionHandle,
                                  ref displayData,
                                  ref providerId,
                                  (uint)size,
                                  dataPtr,
                                  ref id));
            }
            finally
            {
                Marshal.FreeHGlobal(dataPtr);
            }

            return(id);
        }
Esempio n. 4
0
 public static extern uint CreateProviderContext(
     IntPtr sessionHandle,
     ref DisplayData displayData,
     [In] ref Guid providerKey,
     uint size,
     IntPtr data,
     [In, Out] ref Guid key);
Esempio n. 5
0
        public static Guid CreateRemoteUdpPortFilter(
            IntPtr sessionHandle,
            Guid providerId,
            Guid sublayerId,
            DisplayData displayData,
            Layer layer,
            Action action,
            uint weight,
            uint port)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateRemoteUDPPortFilter(
                              sessionHandle,
                              ref providerId,
                              ref sublayerId,
                              ref displayData,
                              (uint)layer,
                              (uint)action,
                              weight,
                              port,
                              ref id));

            return(id);
        }
Esempio n. 6
0
        public static Guid CreateAppFilter(IntPtr sessionHandle,
                                           Guid providerId,
                                           Guid sublayerId,
                                           DisplayData displayData,
                                           Layer layer,
                                           Action action,
                                           uint weight,
                                           Guid calloutId,
                                           Guid providerContextId,
                                           string appPath)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateAppFilter(
                              sessionHandle,
                              ref providerId,
                              ref sublayerId,
                              ref displayData,
                              (uint)layer,
                              (uint)action,
                              weight,
                              ref calloutId,
                              ref providerContextId,
                              appPath,
                              ref id));

            return(id);
        }
Esempio n. 7
0
 public static extern uint CreateLoopbackFilter(
     IntPtr sessionHandle,
     [In] ref Guid providerKey,
     [In] ref Guid sublayerKey,
     ref DisplayData displayData,
     uint layer,
     uint action,
     uint weight,
     [In, Out] ref Guid filterKey);
Esempio n. 8
0
 public static extern uint CreateNetInterfaceFilter(
     IntPtr sessionHandle,
     [In] ref Guid providerKey,
     [In] ref Guid sublayerKey,
     ref DisplayData displayData,
     uint layer,
     uint action,
     uint weight,
     [MarshalAs(UnmanagedType.LPStr)] string interfaceId,
     [In, Out] ref Guid filterKey);
Esempio n. 9
0
        public Sublayer CreateSublayer(DisplayData displayData, uint weight)
        {
            var id = IpFilterNative.CreateSublayer(
                Session.Handle,
                ProviderId,
                displayData,
                weight);

            return(new Sublayer(this, id));
        }
Esempio n. 10
0
        public ProviderContext CreateProviderContext(DisplayData displayData, byte[] data)
        {
            var id = IpFilterNative.CreateProviderContext(
                Session.Handle,
                ProviderId,
                displayData,
                data);

            return(new ProviderContext(id));
        }
Esempio n. 11
0
        public Callout CreateCallout(DisplayData displayData, Guid key, Layer layer)
        {
            var id = IpFilterNative.CreateCallout(
                Session.Handle,
                key,
                ProviderId,
                displayData,
                layer);

            return(new Callout(id));
        }
Esempio n. 12
0
 public static extern uint CreateRemoteNetworkIPv4Filter(
     IntPtr sessionHandle,
     [In] ref Guid providerKey,
     [In] ref Guid sublayerKey,
     ref DisplayData displayData,
     uint layer,
     uint action,
     uint weight,
     [In] ref Guid calloutKey,
     [In] ref Guid providerContextKey,
     ref NetworkAddress addr,
     [In, Out] ref Guid filterKey);
Esempio n. 13
0
 public static extern uint CreateAppFilter(
     IntPtr sessionHandle,
     [In] ref Guid providerKey,
     [In] ref Guid sublayerKey,
     ref DisplayData displayData,
     uint layer,
     uint action,
     uint weight,
     [In] ref Guid calloutKey,
     [In] ref Guid providerContextKey,
     [MarshalAs(UnmanagedType.LPWStr)] string appPath,
     [In, Out] ref Guid filterKey);
Esempio n. 14
0
        public static Guid CreateProvider(
            IntPtr sessionHandle,
            DisplayData displayData)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateProvider(
                              sessionHandle,
                              ref displayData,
                              ref id));

            return(id);
        }
Esempio n. 15
0
        public static Guid CreateSublayer(
            IntPtr sessionHandle,
            Guid providerId,
            DisplayData displayData,
            uint weight)
        {
            var id = Guid.Empty;

            AssertSuccess(() => PInvoke.CreateSublayer(
                              sessionHandle,
                              ref providerId,
                              ref displayData,
                              weight,
                              ref id));

            return(id);
        }
Esempio n. 16
0
        public static Guid CreateCallout(
            IntPtr sessionHandle,
            Guid key,
            Guid providerId,
            DisplayData displayData,
            Layer layer)
        {
            var id = key;

            AssertSuccess(() => PInvoke.CreateCallout(
                              sessionHandle,
                              ref displayData,
                              ref providerId,
                              (uint)layer,
                              ref id));

            return(id);
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
 public static extern uint CreateCallout(
     IntPtr sessionHandle,
     ref DisplayData displayData,
     [In] ref Guid providerKey,
     uint layer,
     [In, Out] ref Guid key);
Esempio n. 24
0
 public static extern uint CreateProvider(
     IntPtr sessionHandle,
     ref DisplayData displayData,
     [In, Out] ref Guid key);
Esempio n. 25
0
 public static extern uint CreateSublayer(
     IntPtr sessionHandle,
     [In] ref Guid providerKey,
     ref DisplayData displayData,
     uint weight,
     [In, Out] ref Guid key);
Esempio n. 26
0
 public static IpFilter Create(Session session, DisplayData displayData)
 {
     return(new IpFilter(
                session,
                IpFilterNative.CreateProvider(session.Handle, displayData)));
 }