c - OBJECT_ATTRIBUTE 结构中的 ObjectName(parameter) 指的是什么?

标签 c windows kernel

我在一个 nt dll 函数中发现了这个名为 OBJECT_ATTRIBUTE 的结构。我很想了解该结构,并浏览了它的文档(msdn)...在 OBJECT_ATTRIBUTE 结构中有一个名为 PUNICODE_STRING objectName 的参数。 ..根据msdn文档..它说objectName“要为其打开句柄的对象的名称”实际上是一个名称或某个根目录,对此感到困惑。任何人都可以解释这个术语“对象的名称”(根目录)。它代表什么。

最佳答案

设备驱动程序和其他内核模式代码使用此结构来指定文件对象的属性。当您使用 NtOpenFile 打开文件时或IoCreateFile函数,您必须传递带有文件名的 OBJECT_ATTRIBUTES

该结构的 ObjectName 成员只是一个指向包含文件或目录名称的 UNICODE_STRING 结构的指针。

关于c - OBJECT_ATTRIBUTE 结构中的 ObjectName(parameter) 指的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964365/

相关文章:

caching - DMA/Microblaze 直接访问用户空间页面物理地址后读取错误数据(内核分散/聚集)

c - 如何在C中添加时间?

c++ - 错误: invalid conversion on const return type

windows - Windows 和我的开发人员中的主机文件

windows - InstallLocation 不是使用标准安装程序编写的吗?

c++ - 如何将图标分配给 Windows(或 Visual Studio)上的可执行文件

kernel - 我的操作系统内核在 D : Some embedded strings don't work

Linux:从 32 位用户模式程序检测 64 位内核(长模式)

C 为什么可以声明具有可变大小(但固定列)的二维数组的函数

C函数参数可以设置变量吗?