繁体   English   中英

Windows上的块设备示例

[英]Example for a block device on Windows

我正在Linux,macOS和Windows上使用Posix stat()函数,并想在其他设备上尝试一下,以查看结果。 Windows上不存在对某些类型的支持,例如套接字和FIFO,但是我想至少检查一下块和字符设备。 我发现AUX (以及其他类似的设备)是字符设备,但是默认情况下,我找不到Windows上可用的任何块设备。 有人可以举个例子吗?

Windows(不是POSIX操作系统)不支持stat 它具有类似的功能_stat ,它试图模拟该功能。

但是,即使Windows确实具有块设备的概念,Windows实现中也没有S_IFBLK (块设备)标志。 如果查看stat.h您将看到仅支持以下模式标志:

#define _S_IFMT   0xF000 // File type mask
#define _S_IFDIR  0x4000 // Directory
#define _S_IFCHR  0x2000 // Character special
#define _S_IFIFO  0x1000 // Pipe
#define _S_IFREG  0x8000 // Regular
#define _S_IREAD  0x0100 // Read permission, owner
#define _S_IWRITE 0x0080 // Write permission, owner
#define _S_IEXEC  0x0040 // Execute/search permission, owner

由此可以得出结论,您要问的是不可能的。

确实, _stat("C:")ENOENT而失败, _stat("\\\\\\\\.\\\\C:")EINVAL失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM