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);
        }
        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);
        }
        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);
        }
Exemple #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);
        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);
        }
        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);
        }
Exemple #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);
Exemple #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);
Exemple #9
0
        public Sublayer CreateSublayer(DisplayData displayData, uint weight)
        {
            var id = IpFilterNative.CreateSublayer(
                Session.Handle,
                ProviderId,
                displayData,
                weight);

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

            return(new ProviderContext(id));
        }
Exemple #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));
        }
Exemple #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);
Exemple #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);
        public static Guid CreateProvider(
            IntPtr sessionHandle,
            DisplayData displayData)
        {
            var id = Guid.Empty;

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

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