CreateFile的内部实现】的更多相关文章

今天想看看CreateFile的内部实现,不过网上没有想要的资料,都只是对参数分析了一下.找了找WRK源码,找到CreateFile的源码自己来分析一下. HANDLE WINAPI CreateFileW ( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwF…
文件系统 一台机器上可以安装很多物理介质来存放资料(如磁盘.光盘.软盘.U盘等).各种物理介质千差万别,都配备有各自的驱动程序,为了统一地访问这些物理介质,windows设计了文件系统机制.应用程序要访问存储在那些物理介质上的资料时,无需直接访问,只需借助文件系统即可对其有效访问.各种物理介质的存储方式千差万别,文件系统则按照'文件'的概念,把要存储的资料以文件为单位进行存放,然后,读取的时候也以文件为单位进行读取.当应用程序要访问资料时,只需指明'文件名+文件内偏移',文件系统自然就能找到实际…
10.1 打开和关闭设备 10.1.1 设备的定义——在Windows中可以与之进行通信的任何东西. (1)常见设备及用途 设备 用途 用来打开设备的函数 文件 永久存储任何数据 CreateFile(pszName为路径名或UNC路径名) 目录 属性和文件压缩的设置 同上,如果指定FILE_FLAG_BACKUP_SEMANTICS标志,将打开一个目录.可以改变目录的属性(如正常或隐藏等)和他们的时间戳 逻辑磁盘驱动器 格式化驱动器 CreateFile(pszName为\\.\x:)其中的x…
Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe. The function returns a handle that…
原 总结 API  一直对CreateFile的参数dwDesiredAccess和dwShareMode有什么不同不是很清楚,今天重读 windows核心编程的时候终于豁然开朗了. 真是书读百遍,其义自见. 简要总结如下: dwDesiredAccess表示本次CreateFile想要获取的权限: 只读(GENERIC_READ),只写(GENERIC_WRITE),可读写(GENERIC_READ | GENERIC_WRITE). dwShareMode表示后续CreateFile可以取得…
Windows内部概述-2- 线程: 执行代码的实体是线程.一个线程的包含在进程里面的,线程使用进程提供的资源来运行代码. 一个线程拥有以下的内容: 1:明确的运行模式,用户态或者内核态. 2:执行的环境,包括寄存器和执行状态. 3:一个或两个栈空间,用来存放变量和调用管理. 4:Thread Local Storage(TLS) 线程本地存储数组,用来存储线程专用数据和提供统一的访问语法. 5:基本的优先级和当前(动态)的优先级. 6:和处理器关联,用来指示允许线程在那个一个处理器上运行. 线…
.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错.从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行. nuget.org 有个指南Hosting Packages Overview 告诉你如何…
微软Azure 经典模式下创建内部负载均衡(ILB) 使用之前一定要注意自己的Azure的模式,老版的为cloud service模式,新版为ARM模式(资源组模式) 本文适用于cloud service模式 一个cloud service只能有一个ILB 创建ILB的基本思路 创建一个ILB实例,作为各进入流量的流入段 添加虚拟机的终结点作为流量的接入端 设置谁发送流量到ILB的IP地址 设置谁发送流量在某些情况下可以不设置 创建步骤 步骤一.创建ILB实例 $svc="<Cloud S…
搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使用数据库,相对来说,最简单的方式是使用NuGet.Server,网上教程一大堆,这边我做下自己的记录. 首先,VS 创建一个空的 ASP.NET 应用程序,然后 nuget 命令输入install-package NuGet.Server,接着会自动加载一些代码和文件,其中在 web.config 中会产生这…
最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功,服务器上就是没有.懶得再去排查这个问题,早就想换掉这个过于简陋的NuGet服务器,借此机会直接弃旧迎新吧. 在网上搜了搜,发现了ProGet,感觉不错,虽然是商业软件,但提供了免费版本,于是选用它重新搭建我们的NuGet服务器.下面分享一下搭建操作步骤. 1)下载地址:http://inedo.com/proget/versions ,下载Manual Install版. 2)解压下载文件,得到2…