自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 使用UDP协议进行socket网络通信,接收端recvfrom接收返回-1

2.经过多次试验,排查到原因,是因为客户端使用大小为32的缓冲区char recvBuffer[32]进行接收,但主控发送时,发送的大小为sizeof(CLIENTDATA) = 65,导致客户端接收失败,返回-1,即使客户端套接字状态正常依然返回-1。当客户端接收缓冲区改为大于主控发送的数据的任意大小缓冲区,recvfrom不再返回-1。3.所以,使用UDP进行数据传输时,接收端recvfrom时缓冲区的大小要大于发送端发送数据的大小,否则recvfrom返回SOCKET_ERROR,即-1。

2023-07-20 14:24:46 1380

原创 MFC 编辑框输入16进制字符串转换为16进制数或者10进制数据计算

当 base 的值为 0 时,默认采用 10 进制转换,但如果遇到 '0x' / '0X' 前置字符则会使用 16 进制转换,遇到 '0' 前置字符则会使用 8 进制转换。若endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。//最后一个参数可以为16或者其他,为0是兼顾所有。2. 使用“strtoul”或“_tcstoul”函数将Cstring 类型转换为16进制/10进制数进行计算。

2023-07-19 12:10:57 1469 1

原创 windows10 快速启动

当打开快速启动时,关机后再开机时win10不会完全重新加载驱动,导致初始化芯片失败,在驱动中新加一个电源管理函数,把改变电源到PowerDeviceD0 时再做一次加载驱动时要初始的芯片工作, 休眠与快启都能正常工作。Windows10新增加了一个功能:快速启动,而且默认状态是打开的,根据微软的说法,快速启动可以有效提高启动速度,快速启动等同于休眠。控制面板——硬件和声音——电源选项——左侧选择电源按钮的功能——更改当前不可用的设置,取消启用快速启动复选框即可。

2023-04-12 18:03:32 857

原创 内核dpc定时器

另外,应用程序每次取声音的数据量是根据系统的声音设置而定的,系统声音设置“录制”属性中设置44100每次取1764,设置48000每次取1920。默认值是第一次安装驱动中的接口而定的。应用程序每次只请求1764个字节,每一个中断对应有1920个字节,这样每一个中断就会在驱动中累积156个字节而导致数据在驱动中溢出。总数据量:48000*2*2=192000,应用程序每次请求1920个字节,驱动中的CELL刚好也是1920,这样就每一个中断往应用层写入一次,每秒刚好有100个中断(192000/1920)。

2023-04-12 17:13:18 767 1

原创 高分辨率计时器

以前的版本应该是驱动下都可以用高精度,应用态下是低精度;现在变了,应该是微软要把 系统 高精度定时器管控起来,驱动下面也要用特定接口才行。win10 64位下SetTimer设置的时间与延时的精确度均误差15ms,win10 32位下可以做到2ms精确时间。修改win10 64位下的时针为高精度定时可以精确到ms。但是高精度定时这个数据类型是win8以后的版本才支持,所以在wdk7600编译都不能识别,把驱动移到VS2019上去编译才可以。编译后的驱动文件win10的32位,64位上面测试都正常了。

2023-04-12 16:21:20 1575 1

原创 WDK7600驱动程序移植到VS2019平台

链接器——》输入-》附加依赖项 :%(AdditionalDependencies);创建新项目:C++ widows Driver。项目->添加现有项,把驱动文件全部添加到现有项目中。b.配置属性 - C/C++ -常规。a.移除项目自动生成的.inf文件。c.配置属性 - 链接器 -常规。将链接器警告视为错误 设置为 否。将警告视为错误 设置为 否。警告等级 设置为 等级3。

2023-04-12 15:29:07 706

原创 ubuntu设置开机默认内核

ubuntu 内核自动更新很烦人,经常一更新安装的驱动又没了。1.关闭自动更新apt-mark hold linux-image-generic linux-headers-generic2.修改默认启动内核:sudo gedit /etc/default/grub(1)修改 GRUB_DEFAULT = "1>2" (按shift 或者Esc 键可以查看,>两侧的两级目录都是从0开始的序号,也可以 GRUB_TIMEOUT = 10 (设置个延时方便进入时选择所...

2022-01-10 11:02:32 2836

原创 vs2019 之 directshow

安装win10 的最新VS2019,功能还是挺强大的,直接连WDK一起安装,可以直接编译驱动程序,比起老版本的WDK更方便灵活应用广泛。说是自带DirectX 12,但是编译应用程序还是有一些头文件找不到。原来windows从direct7开始就不提供例子程序了, 所以目前大家用vs2017,vs2015, vs2019开发directshow的程序,都需要下载direct7的demo来开发,微软...

2019-11-12 17:47:35 2062

转载 teamviewer 安装成功

前一段时间Ubuntu下安装teamviewer时遇到了一些麻烦,怎么也安装不成功,后台从官网上查了一些资料,终于安装成功了,下面就是安装过程:首先下载teamviewer_12.0.85001_i386.deb      1.   sudo dpkg --add-architecture i386     2.   sudo apt-get update    

2017-11-21 15:50:53 1418

转载 ubuntu清除多余内核

今天发现我们自己的开源驱动与video capture 驱动是不能兼容的,在原来的系统折腾几天都无解,安装不上magewell驱动,重装了系统一切正常,再次编译安装TBS开源驱动,捕捉卡驱动又各种v4l2 符号连接错误,又回到了以前老系统的状态,删除media 甚至kernel都不行。还好它是安装在4.8.0.36下面了,系统里那个4.8.0.58内核仍然是正常的。开机Esc键可以选择运行不同的内

2017-07-20 10:44:56 1102 2

原创 linux app

Can't locate Proc/ProcessTable.pm in @INC errorsudo apt-get install libproc-processtable-perl二、Linux系统下DVBlast的使用1.DVB-S信号指令(以本振12538MHZ为例)单本振信号:#dvblast –f 10988000 –s 41250000

2017-07-13 18:15:19 675

原创 github

https://github.com/tbsdtv/linux_media/wiki  $git pull  $cd media  $git diff > si2168_sigal.patch  $git status  $patch -p1   $git commit -am "add to support tbs6301 mcu read and wri

2017-07-13 18:10:08 228

原创 账户失而复得

账户应该是被盗号了,连注册邮箱都被修改了,想改密码都没门,用最开始的注册邮箱联系管理员给解决了。真的是非常感谢!!!!!!!抱大腿痛哭地感激…………一万点攒!!!!!!!一年多终于又恢复正常了,以前因为没找到正确的门路也折腾了好多次都没有恢复成功亲们,如果有问题请与管理员联系 Email:webmaster@csdn.net 绝对靠谱,效率是杠杠滴。

2016-04-06 11:09:26 362

原创 CreateThread 与 WaitForSingleObject 的应用

做FW的升级小工具时,由于要与读写4M的文件

2014-04-11 15:29:45 3656

转载 IRQL(转载 自 windows内核情景分析)

IRQL(转载 自 windows内核情景分析)与此相关,Windows为CPU的运行状态定义了许多“IRQ级别”,即IRQL。在任一时间中,CPU总是运行于其中的某一个级别,这个级别就表明了什么事情可以做、什么事情不可以做。下面是这些级别的定义:#define PASSIVE_LEVEL                             0#define LOW

2014-03-21 17:52:58 644

原创 RtlCopyMemory致使的蓝屏

#define MAX_SECTION_LENGTH 1391  // 1024 + 184 possible stuffing bytes + 183 possible bytes from previous sectionUCHAR           m_ucPMTBuffer[MAX_SECTION_LENGTH];RtlCopyMemory(m_ucPMTBuffer,pbSec

2014-03-21 16:09:31 3698

原创 strmiids.lib 导致的链接错误

1>正在生成代码...1>正在编译资源...1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.163851>Copyright (C) Microsoft Corporation.  All rights reserved.1>正在链接...1>   正在创建库 Release/TbsCIapi.lib

2014-03-20 17:35:43 1966

原创 qq under linux

some one said :"既然转向Linux,就远离TX吧……"webqq is not bad under linux :)http://web.qq.com/

2012-07-26 17:31:37 392

原创 samsung qt210

uboot-----------kernel-----------rootfs.cramfsuboot's address form 0.....eg:[    0.675000] 0x0000000c0000-0x000000100000 : "misc"[    0.680000] 0x000000100000-0x000000600000 : "recovery"

2012-07-20 16:25:47 523

原创 Ubuntu12.4下配置tftp服务

1.安装TFTP软件  sudo apt-get install tftp-hpa tftpd-hpa  tftp-hpa是客户端,tftpd-hpa是服务器端  2.建立tftpboot目录,作为服务器的目录 sudo mkdir ~/tftpboot 释放权限:(服务器目录,需要设置权限为777,chomd 777) sudo chmod 777 ~/tft

2012-07-20 16:03:30 492

原创 tar command extract and compress

eg:tar czvf ../rootfs.tar.gz   -----compresstar zxvf KK.tar.gz        -----extract .gztar jxvf KK.tar.bz2        -----extract .bz2EXAMPLES     Create archive.tar from files foo and b

2012-07-20 15:54:57 520

原创 visit local service under linux

please open any directory then put down ctrl +'L'(lower letter),you can see a edited location on it.just using following command.smb://ipeg: smb://192.168.1.254

2012-07-20 15:31:42 336

原创 I am back!

I love you, baby!

2012-07-19 15:24:39 298

原创 优化程序

今天很自觉地把以前写的MMI对话程序优化了一下。以前在CDigMMI::OnInitDialog里做了很多初始化工作,其中有些初始化还花费比较长的时间。这样的话,打开MMI窗口就会变得很慢,特别是跟MMI通信失败的情况下,整个窗口都挂死状态。优化:当检测到CAM存在的时候设置个时钟,然后在时钟消息处理函数里检测什么时候MMI到来,到了后再KillTimer 及更新MMI 窗口控件列表的显示。相当于把一些需要长时间等待的事情放到另外一个线程里做,这样的话就不会影响到主线程。MMI窗口的打开和关闭变得比较顺畅。

2011-03-25 17:43:00 424

转载 基于HOOK和MMF的Windows密码渗透技术

基于HOOK和MMF的Windows密码渗透技术http://blog.csdn.net/jiaohe2000/archive/2007/09/12/1781695.aspx

2011-02-12 10:16:00 455

转载 字符串内部查找函数

<br />char* strchr( const char* str, int chr );<br />在str中查找第一次出现的chr,没找到则返回0<br /><br />char* strrchr( const char* str, int chr );<br />在str中查找最后一次出现的chr,没找到则返回0<br /><br />char* strstr( const char* str, const char* substr );<br />在str中查找第一次出现的substr,没找到则

2011-02-11 16:16:00 424

原创 KillTimer

<br />为何跟killtimer的顺序有关呢?<br />MessageBox("呼叫任务已完成!","任务完成",MB_SYSTEMMODAL);<br />KillTimer(1);<br />和<br />KillTimer(1);<br />MessageBox("呼叫任务已完成!","任务完成",MB_SYSTEMMODAL);<br />不是一样的吗?<br />执行完这两个语句后就跳出OnTimer函数<br /><br />不一样的,第一种写法,先MessageBox,后KillTime

2010-11-23 15:12:00 985

原创 一个寻找进程函数

<br />#include <tlhelp32.h><br /> <br />BOOL CmfcFindProcDlg::FindCurProcess(CString strCurProcess)<br />{<br /> HANDLE hProcessSnap;<br /> HANDLE hProcess;<br /> PROCESSENTRY32 pe32;<br /> DWORD dwPriorityClass;<br /> CString strListProcName;<br /> BOOL r

2010-11-22 17:05:00 456

转载 error LNK2001: 无法解析的外部符号 "public: virtual long __stdcall CBaseFilter

<br />     今天用VS2005编译DirectShow程序,发现出来很多莫名其妙的链接错误:如下:<br /> <br />error LNK2001: 无法解析的外部符号 "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)<br />error LNK2001: 无法解析的外部符号 "

2010-09-02 17:57:00 2716

转载 Visual C++线程同步技术剖析 (转载)

Visual C++线程同步技术剖析 (转载)<br /><br />作者:中国电波传播研究所 郎锐■来自:yesky<br />摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。<br /><br />关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量; <br />正文<br /><br />使线程同步<br /><br />  在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操

2010-08-20 15:37:00 491

原创 VS2003 安装错误

<br />在网上下的VS.NET2003中文版。放在E盘解压出来,安装到差不多一半的时候。突然弹出一句提示 <br /> 说找不到E:/VS.NET2003/Program   Files/Microsoft   Visual   Studio:NET   2003/SDK/V1.1/Docs/2052/cpref.Hxs。我按着上面的提示去E盘看看cpref.Hxs这个文件在不在。结果发现根本没看到cpref.Hxs这个文件。我心里就感到纳闷,不会是下载的文件有问题吧。我在不同的地方下了

2010-07-21 17:50:00 2884

原创 CheckMenuItem

<br />选中子菜单项后面的复选框<br />1)在初始化时,设置style,Cheched :True.<br /> <br />2)在程序中动态地必变它,<br />bool m_filter_running; //静态变量<br /> <br />CheckMenuItem(GetMenu(m_MultiDecWindow),IDM_SAMPLE_STARTFILTER,m_filter_running ? MF_CHECKED:MF_UNCHECKED);

2010-07-19 17:20:00 697

转载 电脑高手常用的五个按钮

<br />电脑高手常用的五个按钮<br />winkey+d :  <br />  这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!  <br />    <br />-  <br /><br />这个就是winkey  <br />winkey+f :  <br />不用再去移动鼠标

2010-07-19 17:06:00 326

转载 CStdioFile

<br />昨天把CityList.txt中的国家、城市、经纬度正常地读取出来了。为接下来的Usals命令做好准备工作。<br />iptools虽然算不上宠大,但还是有些复杂的,执行起来也比较慢。嘿嘿,新做个小的工程,只实现一小小点功能去调试,想要的功能测试全部通过了再往那个复杂些的工程上去移,因为它跟其它地方没有多大沾连,功能还相对独立。这样就可以避开复杂又缓慢的大工程,专注于想实现的新功能,方便快捷地搞定。当然,这个用来开发测试功能的小工程中变量名及控件最好全部跟主体工程保持一致,这样测试通过后直接c

2010-07-14 16:43:00 5289

原创 文件的读写

eg:文本中每一行的数据结构Afghanistan    Baghlan    36.12    68.7Afghanistan    Balkh    36.758    66.896#include "stdafx.h"#include "fstream" #includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){    string strLine;    string strCountry,str

2010-07-09 17:05:00 413

转载 Spin Control (上下控件)

<br />上下控件是Windows中最常用的控件之一。它只不过是一对箭头,用户可单击它来增加或减少控件的设定值。通常,紧靠着上下控件有一个编辑控件,称为伙伴编辑控件或伙伴控件,用于显示用户输出的值。上下控件在应用程序中用途非常广泛,但目前在纵多出版资料中很少提及其实现方法,使软件开发者甚感迷惑。其实,在Visual  <br />C++6.0中可以很轻松的实现这一控件。笔者通过试验摸索,对上下控件的实现作一简要介绍,以飨纵软件开发朋友。  <br />1. 在Visual  <br />

2010-07-08 17:39:00 4691 2

原创 未处理的异常: 0xC0000235

<br />典型的有关指针错误!<br />检查程序,主要改动了个StartDevice(),StopDevice();<br />逐个检查指针,终于找到了,原来是<br />C_CloseDevice(hDevice); // 在StopDevice()中用了<br /> hDevice = C_OpenDeviceVirtual();//刚开始在初始化中使用它 ,后来放到StartDevice()中就正常了<br />它们没有配套使用。<br /> <br />因为start & stop是分被多次调用

2010-07-07 15:06:00 1394

转载 CreateThread,AfxBeginThread,PsCreateSystemThread

<br />先举一些使用的例子:<br />1):<br />  //在类中创建一个线程:<br />void CQboxMacDlg::OnOK() <br />{<br />   // --------------------------<br />    DWORD dwThreadId;<br />    m_hMyThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)MyThreadProc, this,0,&dwThreadId);<br

2010-07-07 12:11:00 3259

原创 MFC edit control动态设置密码

Password 属性设置为True即可。如果想在程序中动态改变它。设置输入时代替显示的符号:m_edit.SetPasswordChar(‘*');取消它:m_edit.SetPasswordChar(NULL);

2010-07-06 13:24:00 4097 1

转载 MessageBox 的使用

MessageBox这个函数可以在VC里面显示一个标准对话框。函数原型:int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT, uType);参数含义:HWND hWnd —— 父窗口的句柄。(在使用的时候发现在CView类里面不要填这一项,但是如果是再其他的类中,就要填写)在MFC程序里,如果是窗口类中就可以省略掉HWND hWnd,如果是外部函数就必须得传入个hWnd.LPCTSTR lpText ——

2010-06-30 18:02:00 414

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除