• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# Native类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Native的典型用法代码示例。如果您正苦于以下问题:C# Native类的具体用法?C# Native怎么用?C# Native使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Native类属于命名空间,在下文中一共展示了Native类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: LowLevelKeyboardProc

 static IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, ref Native.KBDLLHOOKSTRUCT lParam)
 {
     bool cancel = false;
     if(nCode == Native.HC_ACTION) {
         KeybordCaptureEventArgs e = new KeybordCaptureEventArgs(lParam);
         switch(wParam.ToInt32()) {
             case Native.WM_KEYDOWN:
                 if(KeyDown != null)
                     KeyDown(null, e);
                 break;
             case Native.WM_KEYUP:
                 if(KeyUp != null)
                     KeyUp(null, e);
                 break;
             case Native.WM_SYSKEYDOWN:
                 if(SysKeyDown != null)
                     SysKeyDown(null, e);
                 break;
             case Native.WM_SYSKEYUP:
                 if(SysKeyUp != null)
                     SysKeyUp(null, e);
                 break;
         }
         cancel = e.Cancel;
     }
     return cancel ? (IntPtr)1 : Native.CallNextHookEx(s_hook, nCode, wParam, ref lParam);
 }
开发者ID:masaakif,项目名称:TwiDaken,代码行数:27,代码来源:KeyBoardHook.cs


示例2: PopulateConfiguration

        internal void PopulateConfiguration(ref Native.Configuration configuration)
        {
            var migrationHandle = GCHandle.Alloc(this);

            configuration.migration_callback = MigrationCallback;
            configuration.managed_migration_handle = GCHandle.ToIntPtr(migrationHandle);
        }
开发者ID:realm,项目名称:realm-dotnet,代码行数:7,代码来源:Migration.cs


示例3: UnixFileSystemInfo

 internal UnixFileSystemInfo(String path, Native.Stat stat)
 {
     this.originalPath = path;
     this.fullPath = UnixPath.GetFullPath (path);
     this.stat = stat;
     this.valid = true;
 }
开发者ID:xxtbg,项目名称:coredroidservice,代码行数:7,代码来源:UnixFileSystemInfo.cs


示例4: App

    public App(string nibName)
    {
        NSObject app = (NSObject) new Class("NSApplication").Call("sharedApplication");

        // Load our nib. This will instantiate all of the native objects and wire them together.
        // The C# SimpleLayoutView will be created the first time Objective-C calls one of the
        // methods SimpleLayoutView added or overrode.
        NSObject dict = new Class("NSMutableDictionary").Call("alloc").Call("init").To<NSObject>();
        NSObject key = new Class("NSString").Call("stringWithUTF8String:", Marshal.StringToHGlobalAuto("NSOwner")).To<NSObject>();
        dict.Call("setObject:forKey:", app, key);

        NSObject bundle = new Class("NSBundle").Call("mainBundle").To<NSObject>();

        NSObject nib = new Class("NSString").Call("stringWithUTF8String:", Marshal.StringToHGlobalAuto(nibName)).To<NSObject>();
        sbyte loaded = (sbyte) bundle.Call("loadNibFile:externalNameTable:withZone:", nib, dict, null);
        if (loaded != 1)
            throw new InvalidOperationException("Couldn't load the nib file");

        // We need an NSAutoreleasePool to do Native.Call, but we don't want to have one
        // hanging around while we're in the main event loop because that may hide bugs.
        // So, we'll instantiate a Native instance here and call Invoke later which can
        // be done without an NSAutoreleasePool.
        m_run = new Native(app, new Selector("run"));

        dict.release();
    }
开发者ID:afrog33k,项目名称:mobjc,代码行数:26,代码来源:NSApplication.cs


示例5: Create

		public UnixStream Create (Native.FilePermissions mode)
		{
			int fd = Native.Syscall.creat (FullPath, mode);
			if (fd < 0)
				UnixMarshal.ThrowExceptionForLastError ();
			base.Refresh ();
			return new UnixStream (fd);
		}
开发者ID:Jakosa,项目名称:MonoLibraries,代码行数:8,代码来源:UnixFileInfo.cs


示例6: NativeInputPortConfiguration

 /// <summary>
 /// Creates new instance of this type.
 /// </summary>
 /// <param name="name">Name of the port.</param>
 /// <param name="displayName">Display name of this port.</param>
 /// <param name="description">Description of this port.</param>
 /// <param name="enumConfig">Enumeration config.</param>
 /// <param name="defaultValue">Default value to use.</param>
 public NativeInputPortConfiguration(string name, string displayName, string description, string enumConfig, Native.FlowInputData defaultValue)
 {
     this.Name = Marshal.StringToHGlobalUni(name);
     this.HumanName = Marshal.StringToHGlobalUni(displayName);
     this.Description = Marshal.StringToHGlobalUni(description);
     this.EnumConfig = Marshal.StringToHGlobalUni(enumConfig);
     this.DefaultValue = defaultValue;
 }
开发者ID:RoqueDeicide,项目名称:CryCIL,代码行数:16,代码来源:FlowGraphNode.Configuration.cs


示例7: CopyGroup

		private static Native.Group CopyGroup (Native.Group group)
		{
			Native.Group g = new Native.Group ();

			g.gr_gid    = group.gr_gid;
			g.gr_mem    = group.gr_mem;
			g.gr_name   = group.gr_name;
			g.gr_passwd = group.gr_passwd;

			return g;
		}
开发者ID:Jakosa,项目名称:MonoLibraries,代码行数:11,代码来源:UnixGroupInfo.cs


示例8: strerror_r

		private static string strerror_r (Native.Errno errno)
		{
			StringBuilder buf = new StringBuilder (16);
			int r = 0;
			do {
				buf.Capacity *= 2;
				r = Native.Syscall.strerror_r (errno, buf);
			} while (r == -1 && Native.Stdlib.GetLastError() == Native.Errno.ERANGE);

			if (r == -1)
				return "** Unknown error code: " + ((int) errno) + "**";
			return buf.ToString();
		}
开发者ID:Jakosa,项目名称:MonoLibraries,代码行数:13,代码来源:UnixMarshal.cs


示例9: CopyPasswd

		private static Native.Passwd CopyPasswd (Native.Passwd pw)
		{
			Native.Passwd p = new Native.Passwd ();

			p.pw_name   = pw.pw_name;
			p.pw_passwd = pw.pw_passwd;
			p.pw_uid    = pw.pw_uid;
			p.pw_gid    = pw.pw_gid;
			p.pw_gecos  = pw.pw_gecos;
			p.pw_dir    = pw.pw_dir;
			p.pw_shell  = pw.pw_shell;

			return p;
		}
开发者ID:Jakosa,项目名称:MonoLibraries,代码行数:14,代码来源:UnixUserInfo.cs


示例10: OpenWithSync

        public static SharedRealmHandle OpenWithSync(Realms.Native.Configuration configuration, Native.SyncConfiguration syncConfiguration, RealmSchema schema, byte[] encryptionKey)
        {
            DoInitialFileSystemConfiguration();

            var marshaledSchema = new SharedRealmHandle.SchemaMarshaler(schema);

            NativeException nativeException;
            var result = NativeMethods.open_with_sync(configuration, syncConfiguration, marshaledSchema.Objects, marshaledSchema.Objects.Length, marshaledSchema.Properties, encryptionKey, out nativeException);
            nativeException.ThrowIfNecessary();

            var handle = new SharedRealmHandle();
            handle.SetHandle(result);
            return handle;
        }
开发者ID:realm,项目名称:realm-dotnet,代码行数:14,代码来源:SharedRealmHandleExtensions.cs


示例11: DoEnableDisable

        public static void DoEnableDisable(
            Native.DeviceInfoListHandle devs, ref Native.SP_DEVINFO_DATA devInfo,
            string deviceId, EnableDisableParameters parms
        )
        {
            if (devInfo.ClassGuid != parms.ClassGuid)
                return;
            if (devInfo.DevInst != parms.DevInst)
                return;

            var options = parms.AppParams.Options;

            if ((options.Count == 0) || options.Contains("disable")) {
                Console.WriteLine(
                    "// Physical ID for volume {0} is #{1}. You can use this ID to re-enable the volume.",
                    parms.DriveLetter, devInfo.DevInst
                );

                Console.Write("Disabling volume {0}... ", parms.DriveLetter);
                try {
                    Native.ChangeDeviceEnabledState(
                        devs, ref devInfo,
                        DiClassInstallState.DICS_DISABLE,
                        DiClassInstallScope.DICS_FLAG_CONFIGSPECIFIC,
                        DiClassInstallFunction.DIF_PROPERTYCHANGE
                    );

                    Console.WriteLine("ok.");
                } catch (Exception ex) {
                    Console.WriteLine("failed.");
                }
            }

            if ((options.Count == 0) || options.Contains("enable")) {
                Console.Write("Enabling volume {0}... ", parms.DriveLetter);
                try {
                    Native.ChangeDeviceEnabledState(
                        devs, ref devInfo,
                        DiClassInstallState.DICS_ENABLE,
                        DiClassInstallScope.DICS_FLAG_CONFIGSPECIFIC,
                        DiClassInstallFunction.DIF_PROPERTYCHANGE
                    );

                    Console.WriteLine("ok.");
                } catch (Exception ex) {
                    Console.WriteLine("failed.");
                }
            }
        }
开发者ID:kg,项目名称:DeviceRemount,代码行数:49,代码来源:Program.cs


示例12: SendKeyboardKey

 public void SendKeyboardKey( Native.KeyboardKeys key )
 {
     NativeKeySendingEventArgs e = new NativeKeySendingEventArgs( key );
     if( this.KeySending != null )
     {
         this.KeySending( this, e );
     }
     if( !e.Cancel )
     {
         KeyboardProcessor.Process( key );
         if( this.KeySent != null )
         {
             this.KeySent( this, new NativeKeySentEventArgs( key ) );
         }
     }
 }
开发者ID:Invenietis,项目名称:ck-certified,代码行数:16,代码来源:SendStringPlugin.cs


示例13: CallCreate2P

        /// <summary>
        /// XmCreateXXの呼び出し
        /// </summary>
        public static IntPtr CallCreate2P(Native.Motif.CreateSymbol sym, Widgets.IWidget parent,string name, Native.Xt.XtArg[] args)
        {
            if (null ==args || 0 == args.Length) {
                return Instance.xmCreateFuncs[(int)sym](parent.NativeHandle.Widget, name, null, 0);
            }

            Native.Xt.NativeXtArg[] au = new Native.Xt.NativeXtArg[args.Length];
            int argc = ExtremeSports.TnkConvertResourceEx(args, au, true);
            foreach(Native.Xt.NativeXtArg k in au) {
                System.Diagnostics.Debug.WriteLine($"NA<A>: {k.Name} : {k.Value}");
            }
            System.Diagnostics.Debug.WriteLine($"XM_CVT {au.Length} -> {argc}");
            IntPtr wgt = Instance.xmCreateFuncs[(int)sym](parent.NativeHandle.Widget, name, au, argc);
            ExtremeSports.TnkFreeDeepCopyArg(au);

            return wgt;
        }
开发者ID:sazae657,项目名称:TonNurako,代码行数:20,代码来源:XmCall.cs


示例14: RestoreFilePosition

		public void RestoreFilePosition (Native.FilePosition pos)
		{
			AssertNotDisposed ();
			if (pos == null)
				throw new ArgumentNullException ("value");
			int r = Native.Stdlib.fsetpos (file, pos);
			UnixMarshal.ThrowExceptionForLastErrorIf (r);
			GC.KeepAlive (this);
		}
开发者ID:sushihangover,项目名称:playscript,代码行数:9,代码来源:StdioFileStream.cs


示例15: SaveFilePosition

		public void SaveFilePosition (Native.FilePosition pos)
		{
			AssertNotDisposed ();
			int r = Native.Stdlib.fgetpos (file, pos);
			UnixMarshal.ThrowExceptionForLastErrorIf (r);
			GC.KeepAlive (this);
		}
开发者ID:sushihangover,项目名称:playscript,代码行数:7,代码来源:StdioFileStream.cs


示例16: UnixUserInfo

		public UnixUserInfo (Native.Passwd passwd)
		{
			this.passwd = CopyPasswd (passwd);
		}
开发者ID:Jakosa,项目名称:MonoLibraries,代码行数:4,代码来源:UnixUserInfo.cs


示例17: Time

    public void Time()
    {
        Class klass = new Class("NSString");
        NSObject str1 = (NSObject) klass.Call("stringWithUTF8String:", Marshal.StringToHGlobalAuto("hello world"));
        NSObject str2 = (NSObject) klass.Call("stringWithUTF8String:", Marshal.StringToHGlobalAuto("100"));
        NSObject str3 = (NSObject) klass.Call("stringWithUTF8String:", Marshal.StringToHGlobalAuto("foo"));

        Stopwatch timer = Stopwatch.StartNew();
        for (int i = 0; i < 10000; ++i)
        {
            str3.Call("hasPrefix:", str1);
        }
        Console.WriteLine("{0}	{1:0.0} secs", new Native(str3, new Selector("hasPrefix:")), timer.ElapsedMilliseconds/1000.0);

        timer = Stopwatch.StartNew();
        for (int i = 0; i < 10000; ++i)
        {
            str2.Call("intValue");
        }
        Console.WriteLine("{0}	{1:0.0} secs", new Native(str2, new Selector("intValue")), timer.ElapsedMilliseconds/1000.0);

        timer = Stopwatch.StartNew();
        for (int i = 0; i < 10000; ++i)
        {
            str1.Call("uppercaseString");
        }
        Console.WriteLine("{0}	{1:0.0} secs", new Native(str1, new Selector("uppercaseString")), timer.ElapsedMilliseconds/1000.0);

        Native native = new Native(str1, new Selector("uppercaseString"));
        timer = Stopwatch.StartNew();
        for (int i = 0; i < 10000; ++i)
        {
            native.Invoke();
        }
        Console.WriteLine("Native {0}	{1:0.0} secs", native, timer.ElapsedMilliseconds/1000.0);

        string s = "hello world";
        timer = Stopwatch.StartNew();
        for (int i = 0; i < 10000; ++i)
        {
            s.ToUpper();
        }
        Console.WriteLine("Managed ToUpper: {0:0.0} secs", timer.ElapsedMilliseconds/1000.0);
    }
开发者ID:afrog33k,项目名称:mobjc,代码行数:44,代码来源:TimingTest.cs


示例18: ReadSymbolicLink

		// Read the specified symbolic link.  If the file isn't a symbolic link,
		// return null; otherwise, return the contents of the symbolic link.
		//
		// readlink(2) is horribly evil, as there is no way to query how big the
		// symlink contents are.  Consequently, it's trial and error...
		private static string ReadSymbolicLink (string path, out Native.Errno errno)
		{
			errno = (Native.Errno) 0;
			StringBuilder buf = new StringBuilder (256);
			do {
				int r = Native.Syscall.readlink (path, buf);
				if (r < 0) {
					errno = Native.Stdlib.GetLastError ();
					return null;
				}
				else if (r == buf.Capacity) {
					buf.Capacity *= 2;
				}
				else
					return buf.ToString (0, r);
			} while (true);
		}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:22,代码来源:UnixPath.cs


示例19: GetConfigurationValue

 public long GetConfigurationValue(Native.PathconfName name)
 {
     long r = Native.Syscall.pathconf (FullPath, name);
     if (r == -1 && Native.Stdlib.GetLastError () != (Native.Errno)0)
         UnixMarshal.ThrowExceptionForLastError ();
     return r;
 }
开发者ID:xxtbg,项目名称:coredroidservice,代码行数:7,代码来源:UnixFileSystemInfo.cs


示例20: IsSet

 internal static bool IsSet(Native.FilePermissions mode, Native.FilePermissions type)
 {
     return (mode & type) == type;
 }
开发者ID:xxtbg,项目名称:coredroidservice,代码行数:4,代码来源:UnixFileSystemInfo.cs



注:本文中的Native类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# NativeActivityContext类代码示例发布时间:2022-05-24
下一篇:
C# NarrowingLevel类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap