private void SendCustomVideoTick(object sender, EventArgs e)
        {
            int width  = 0;
            int height = 0;
            int size   = 0;

            byte[] screen_datas = ScreenCaptureHelper.GetScreenCapture(out width, out height);
            size = width * height * 3;
            IntPtr unmanagedPointer = Marshal.AllocHGlobal(screen_datas.Length);

            Marshal.Copy(screen_datas, 0, unmanagedPointer, screen_datas.Length);
            NIMCustomVideoDataInfo info = new NIMCustomVideoDataInfo();

            info.VideoSubType = Convert.ToInt32(NIMVideoSubType.kNIMVideoSubTypeRGB);
            NIM.DeviceAPI.CustomVideoData(0, unmanagedPointer, Convert.ToUInt32(size), (uint)width, (uint)height, info);
            Marshal.FreeHGlobal(unmanagedPointer);
        }