作者:shenzi
链接:http://blog.csdn.net/shenzi
1.打开和关闭设备
Windows的优势之一是它所支持的设备数量。就我们的讨论而言,我们把设备定义为能够与之进行通信的任何东西。表1列出了一些设备及其常见用途。
设备 |
常见用途 |
---|---|
文件 |
永久存储任何数据 |
目录 |
属性和文件压缩的设置 |
逻辑磁盘驱动器 |
格式化驱动器 |
物理磁盘驱动器 |
访问分区表 |
串口 |
通过电话线传输数据 |
并口 |
将数据传输至打印机 |
邮件槽 |
一对多数据传输,通常是通过网络传到另一台运行Windows的机器上 |
命名管道 |
一对一数据传输,通常是通过网络传到另一台运行Windows的机器上 |
匿名管道 |
单机上的一对一数据传输(绝对不会跨网络) |
套接字 |
报文或数据流的传输,通常是通过网络传到任何支持套接字的机器上(机器不一定要运行Windows操作系统) |
控制台 |
文本窗口的屏幕缓存 |
表2:用来打开各种设备的函数
设备 | 用来打开设备的函数 |
---|---|
文件 |
CreateFile (pszName 为路径或UNC路径名). |
目录 |
CreateFile (pszName 为路径或UNC路径名). 如果在调用CreateFile的时候指定 FILE_ FLAG_BACKUP_SEMANTICS 标志, 那么Windows允许我们打开一个目录。打开目录使我们能够改变目录的属性和它的时间戳。 |
逻辑磁盘驱动器 |
CreateFile (pszName is "//./x :"). 如果指定的字符串是 "//./x :"的形式,那么Windows允许我们打开一个逻辑磁盘驱动器, 其中的x是驱动器的盘符。打开驱动器使我们能够格式化驱动器或检测驱动器媒介的大小。 |
无力磁盘驱动器 |
CreateFile (pszName 为 "//./PHYSICALDRIVEx "). 如果指定的字符串是"//./PHYSICALDRIVEx " 的形式,那么Windows允许 我们打开一个屋里磁盘驱动器,其中的x是物理驱动器号。例如,为了读写用户的第一个物理驱动器的扇区,我们应该制定 "//./PHYSICALDRIVE0". 打开物理驱动器使我们能够直接访问硬盘的分区表。打开物理驱动器有潜在的危险,错误地写入设备可能会导致操作系统的文件系统无法访问磁盘的内容 |
串口 |
CreateFile (pszName 为 "COMx "). |
并口 |
CreateFile (pszName 为 "LPTx "). |
邮件槽服务器 |
CreateMailslot (pszName 为 "//./mailslot/mailslotname "). |
邮件槽客户端 |
CreateFile (pszName 为 "//servername /mailslot/mailslotname "). |
命名管道服务器 |
CreateNamedPipe (pszName 为 "//./pipe/pipename "). |
命名管道客户端 |
CreateFile (pszName 为 "//servername /pipe/pipename "). |
匿名管道 |
CreatePipe 用来打开服务器和客户端 |
套接字 |
socket , accept , 或AcceptEx . |
控制台 |
|