在 Windows/mingw 上,`fcntl(fd, F_GETFL) | 等价于什么? O_ACCMODE`?

2024-02-23

我正在 Windows 上用 Mingw 编译一个程序。如何获取打开的文件描述符的访问模式?


根据Win32.hlp,API提供了该功能BOOL GetFileInformationByHandle(HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation)在 KERNEL32 中。LPBY_HANDLE_FILE_INFORMATION is a BY_HANDLE_FILE_INFORMATION*, where BY_HANDLE_FILE_INFORMATION如下:

typedef struct _BY_HANDLE_FILE_INFORMATION { // bhfi  
    DWORD    dwFileAttributes; 
    FILETIME ftCreationTime; 
    FILETIME ftLastAccessTime; 
    FILETIME ftLastWriteTime; 
    DWORD    dwVolumeSerialNumber; 
    DWORD    nFileSizeHigh; 
    DWORD    nFileSizeLow; 
    DWORD    nNumberOfLinks; 
    DWORD    nFileIndexHigh; 
    DWORD    nFileIndexLow; 
} BY_HANDLE_FILE_INFORMATION;

调用该函数后,如果返回 true,则BY_HANDLE_FILE_INFORMATION包含与您的文件相关的数据。dwFileAttributes可能包含FILE_ATTRIBUTE_READ_ONLY flag.

如果您想要更多,还有:

BOOL GetKernelObjectSecurity(
 HANDLE Handle,                             // handle of object to query
 SECURITY_INFORMATION RequestedInformation, // requested information
 PSECURITY_DESCRIPTOR pSecurityDescriptor,  // address of security descriptor
 DWORD nLength,                             // size of buffer for security descriptor 
 LPDWORD lpnLengthNeeded                    // address of required size of buffer
);

API 参考对于什么是模糊的SECURITY_DESCRIPTOR是,但您可以使用其地址作为参数来调用一堆其他函数来获取特定属性。这SECURITY_INFORMATION只是一个DWORD指定您计划调用其中哪个函数的常量。您可以在以下位置找到更多信息:http://msdn.microsoft.com/en-us/library/aa446641%28VS.85%29.aspx http://msdn.microsoft.com/en-us/library/aa446641%28VS.85%29.aspx

编辑 - 第二个代码部分看起来总是很奇怪,但是如果你仔细研究一下,API 参考的链接将引导你到你需要去的地方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows/mingw 上,`fcntl(fd, F_GETFL) | 等价于什么? O_ACCMODE`? 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • 在C中初始化char数组

    我不确定按以下方式初始化后 char 数组中会包含什么 char buf 5 0 这相当于 char buf 5 0 0 0 0 0 是的 是一样的 如果数量较少初始化器比数组中的元素大 那么剩余的元素将被初始化 就像具有静态存储持续时间的
  • 如何在sql server 2008中使用双while循环

    我正在开发一个约会日历应用程序 这里还是新手 我需要这方面的帮助 我需要在列中进行双循环 calendarID Slot Appointment Date slot 列的值将重复为 1 2 3 4 5 6 7 8 到 28 而 calend
  • 分开名字、中间名和姓氏 (Python)

    我有一个包含数百名成员的列表 我想按名字 中间名和姓氏分隔这些成员 但其中一些成员具有前缀 用 P 表示 所有可能的组合 First Middle Last P First Middle Last First P Middle Last P
  • React Native 0.44——堆栈导航器示例

    我正在尝试创建 React Native 应用程序的 Android 版本 但在使用 Android 导航器时遇到问题 下载示例代码 https ufile io lr8x5 首先创建一个文件 例如应用导航 js import StackN
  • 如何将 mat4 数组作为统一传递

    我必须将 mat4 数组作为统一传递给我的顶点着色器 如下所示 在顶点着色器中 uniform mat4 u jointMatrix 2 在我的 C 程序中 我这样做了 glm mat4 jointM 2 I filled jointM w
  • 查询 Android 日历甚至可以检索已删除的事件

    我正在使用下面提到的代码从保存在 Android 本地日历应用程序中的所有日历中检索所有事件 现在 如果我从本机日历中删除某个事件 我的代码仍然会获取并显示该事件 这怎么可能 它是否设置了一些删除标志而不是实际删除事件 Cursor cur
  • C - 使用 select() 时如何限制服务器中的入站连接数

    我对 C 套接字编程还是新手 但我能够创建一些简单的客户端和服务器程序 我正在编写一个监听 TCP 连接的服务器 它的职责是响应客户端的请求 然后在客户端发送特殊的字节序列时 当然 或者当它断开连接时 关闭通信 我开始使用以下代码对服务器进
  • css 规则在 iOS9 上无法正常工作

    我对 iOS9 有一个关于网站 CSS 的问题 css 规则在 Android 和 iOS 8 上运行良好 但在 iOS9 上 网站出现混乱 这就是ios 8和ios 9的区别 可能的问题是什么 我该如何解决这个问题 感谢帮助 css se
  • Dropbox 文件唯一标识符 - RESTful API

    是否存在与 Dropbox 文件关联的唯一标识符 该标识符不会因修订 更改 重命名而更改 并且可以通过 RESTful API 进行访问 我想将它存储在数据库中并跟踪文件上的一些操作 不幸的是 不 Dropbox API 目前不公开任何类型
  • Java中将字符串转换为URL标准字符串

    我有一个字符串 例如 Cerepedia una apliaci n web 我想将其转换为有效的 URL 例如 Cerepedia unaaplicacionweb Note 特殊字符转换和空格删除 顺便问一下 URL 中允许使用逗号吗
  • Ionic:未定义不是构造函数 FileReader

    创建 FileReader 来自 ionic native file 实例时遇到问题 let f new FileReader 出现以下错误 TypeError undefined is not a constructor evaluati
  • 如何列出 Win32.DLL 中的可用方法

    我有一个 DLL 文件 其中包含一些我想在应用程序中调用的有用函数 我不再有它的文档了 如何发现 DLL 导出的函数及其方法签名 是否有列出函数及其参数的实用程序 转储箱 出口 Dumpbin http msdn microsoft com
  • 你能在同一对象的非重叠区域之间进行memcpy吗?

    C17 说以下内容memcpy 7 24 2 1p2 memcpy函数将s2指向的对象中的n个字符复制到指向的对象中 通过 s1 如果复制发生在objects重叠 行为是未定义的 常见的解释是您不能复制重叠的内存区域 但这并不完全相同 因为
  • jQuery UI 对话框不会关闭

    在我的网页上有一个按钮可以打开模式 jQuery 对话框 单击按钮时运行的代码如下 main onoffline container append div div dialog modal a dialog title Add Tags a
  • 如何在 Dreamweaver 中使用 javascript 使元素固定在某个点

    我知道有很多与此类似的问题 但在 Dreamweaver 中似乎没有一个解决方案适合我 任何人都可以提供 JavaScript 代码或我可以轻松插入到 Dreamweaver 文件中的内容吗 我需要应用它的代码如下 div div
  • 原子别名交换在完全不相关的索引上失败并出现 index_not_found_exception

    我想以零停机时间进行替换和索引 如中所述ES 文档 https www elastic co guide en elasticsearch guide current index aliases html 我这样做是通过 创建一个新索引my
  • 如何使用 django-simple-history 恢复更改,特别是删除

    We have django simple history为我们的模型设置 最近一大堆模型被神秘删除 这是在事后几天注意到的 因此最好避免完整的数据库备份恢复 因为这会擦除事后发生的手动更改 我找不到任何方法来轻松恢复模型实例 特别是已删除
  • Tkinter 显示扭曲的图像

    我正在尝试使用 Tkinter 显示 gif 但是当 gif 加载时 它看起来很奇怪 我已经粘贴了原始 gif 和 Tkinter 中显示的 gif 的屏幕截图 这种情况不仅仅发生在一张 gif 中 而是出现在我使用的每一张 gif 中 G
  • 我们可以在 Android 中使用缩放手势检测器进行捏缩放吗?

    我们可以在 Android 中使用缩放手势检测器进行捏缩放吗 您可以创建一个可重用的类来实现OnTouchListener来实现这一目标 public class MyScaleGestures implements OnTouchList
  • 在 Windows/mingw 上,`fcntl(fd, F_GETFL) | 等价于什么? O_ACCMODE`?

    我正在 Windows 上用 Mingw 编译一个程序 如何获取打开的文件描述符的访问模式 根据Win32 hlp API提供了该功能BOOL GetFileInformationByHandle HANDLE hFile LPBY HAN