在Unix上,一切都是文件,所以你可以使用带有管道,文件,套接字等的文件i / o函数。但是在windows上,你使用的api取决于你拥有的i / o HANDLE的类型。 / p>
我的问题是:给定一个HANDLE如何确定底层类型是什么?例如,我有一个HANDLE,它是真实文件或命名/匿名管道。我想知道是否可以在这个HANDLE上调用PeekNamedPipe。
答案 0 :(得分:4)
使用GetFileType
。检查返回值FILE_TYPE_PIPE
。
http://msdn.microsoft.com/en-us/library/aa364960(VS.85).aspx
答案 1 :(得分:0)
不要试图愚蠢。 叫它。如果你得到一个错误代码,说错了类型的东西......那么你知道。
在尝试查看用户是否有权打开文件时,类似的主体是相关的。它可以尝试完全反向工程并重新实现文件系统通过的逻辑来测试ACL。或者,试着打开它。