win api
文章平均质量分 71
dragon_cdut
和大家一起学习交流是快乐
展开
-
windows取消、终止线程
原文地址:https://blog.csdn.net/SoaringLee_fighting/article/details/78377147一、线程终止windows操作系统中,创建的线程有以下4种终止方式1. 线程函数返回当线程函数返回时,该线程会被终止,始终应该采用该方式来结束线程的运行,因为这是确保所有线程资源被正确清除的唯一办法。如果线程按照该方式成功返回,则:1)线程函数中创建的所有C++对象均能通过他们的析构函数正确的被撤销2)操作系统将正确的释放线程运行栈所使用的内存转载 2021-10-09 15:24:29 · 2503 阅读 · 0 评论 -
WDF开发详解
原文地址:https://blog.csdn.net/lang_eva/article/details/109676808WDF开发详解添加设备:hdwwizKMDF驱动程序框架KMDF 驱动程序框架由对象和事件回调例程构成。KMDF 框架中所有的事物都由对象表示,各种事件处理都由事件回调例程来完成。学习KMDF编程,主要是学习 KMDF 的各种对象、对象函数和时间回调函数的编程。一、1.KMDF 对像为了实现基于对象的技术,微软精心设计了对象模型并进行了封装,提供了属性方法转载 2021-08-26 09:33:07 · 3639 阅读 · 0 评论 -
winsocket tcp 非阻塞实例
在 Winsocket 一:单线程阻塞server&client程序(tcp) 和 Winsocket 二:多线程阻塞服务器程序(tcp)介绍了阻塞tcp程序,阻塞式tcp程序服务器程序会因为建立连接和关闭连接而频繁的创建和关闭线程会产生大量的内存碎片,从而导致服务端程序不能保证长时间的稳定运行,本文简单介绍非阻塞式tcp程序的编写。一、非阻塞 阻塞是指在进行一个操作的时候,如服务器接收客户端的连接(accept),客户端程序执行connect操作,服务器或者客户端读写数据(r...转载 2021-08-10 11:08:34 · 1751 阅读 · 0 评论 -
tcp 阻塞与非阻塞
原文地址:http://blog.chinaunix.net/uid-8489474-id-2031025.htmltcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据.在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送就返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send会等待接收端对之前发送数据的确认转载 2021-08-05 17:29:37 · 3724 阅读 · 0 评论 -
windows driver - DeviceIoControl 用法
原文地址:https://www.cnblogs.com/lsh123/p/7354573.html之前写过一篇关于通过DeviceIoControl函数来使应用程序与驱动程序通信的博客,这次再通过这个完整的代码来简要疏通总结一下。 这种通信方式,就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP),MinorFunc.转载 2021-08-03 14:04:42 · 2242 阅读 · 3 评论 -
CTL_CODE宏函数
原文地址:https://blog.csdn.net/cosmoslife/article/details/7698688DDK中有一个CTL_CODE宏,用这个宏我们可以很方便的定义IOCTL。不管是IRP_MJ_DEVICE_CONTROL还是IRP_INTERNAL_DEVICE_CONTROL包,IOCTL都用如下形式定义:#define IOCTL_Device_Function CTL_CODE(DeviceType, Function, Method, Access)Devic转载 2021-08-03 11:20:43 · 277 阅读 · 0 评论 -
LARGE_INTEGER数据类型解析
驱动开发中,我们除了可以使用LONGLONG这个表示64位结构的数据外。还可以使用一个叫做LARGE_INTEGER的数据结构来表示64位数据。它的定义如下typedef union _LARGE_INTEGER { struct { ULONG LowPart; LONG HighPart; } DUMMYSTRUCTNAME; struct { ULONG LowPart; LONG HighPart; ...转载 2021-08-03 09:55:46 · 726 阅读 · 0 评论 -
UNREFERENCED_PARAMETER()宏函数
vs2013开发C程序,当定义一个变量如int val,这个变量未被使用时,vs编译就会报错或报出警告信息:“warning C4100: ''XXXX'' : unreferenced formal parameter.”屏蔽此报错或警告如下:加上UNREFERENCED_PARAMETER(val)即可。在vs编程windows 驱动时,经常没使用定义的变量会报错,导致编译失败。在vs编程windows 应用层代码时,经常没使用定义的变量会报警告,不影响编译。...原创 2021-08-02 14:21:03 · 555 阅读 · 0 评论 -
VS程序中计算程序运行时间
原文地址:https://blog.csdn.net/weixin_30496431/article/details/95700974有时候在设计程序完了之后需要计算程序运行的时间。 这时候可以使用Windows的库函数 GetIickCount(),其头文件为<windows.h> #include<iostream>#include<windows.h>int main(){DWORD start_time=GetTickCount();{.转载 2021-04-07 10:08:47 · 4124 阅读 · 0 评论 -
windows多线程互斥和同步
原文地址:https://blog.csdn.net/morewindows/article/details/7442333地址二:https://blog.csdn.net/lanwanjunxixihaha/article/details/50251785//win 多线程#define THREAD_NUM 10int threadCount=0;int threadNO=0;//用于互斥CRITICAL_SECTION NOCritical;CRITICAL_SECTION转载 2021-03-15 18:03:25 · 223 阅读 · 0 评论 -
windows 多线程互斥量
原文地址:https://www.cnblogs.com/TenosDoIt/p/3601387.html注意:互斥量也是一个内核对象,它用来确保一个线程独占一个资源的访问。互斥量与关键段的行为非常相似,并且互斥量可以用于不同进程中的线程互斥访问资源 本文地址主要用到2个函数:CreateMu...转载 2021-03-15 13:48:04 · 150 阅读 · 0 评论