CreateFile底层原理
时间: 2024-01-21 20:03:00 浏览: 118
CreateFile是Windows API中的函数,用于创建或打开一个文件或者设备。其底层原理是通过调用Win32子系统的NtCreateFile函数,进而调用内核函数创建或打开文件或者设备对象。
具体来说,CreateFile函数首先会以Unicode字符串的形式传递文件名或设备名和访问模式等参数。然后,它会调用Win32子系统中的CreateFileW函数,将传递的参数转换为ANSI字符串,并将其传递到内核中。
在内核中,NtCreateFile函数会解析文件名或设备名,然后检查是否有足够的权限打开文件或设备。如果权限不足,则返回错误代码。如果权限足够,它会创建或打开文件或设备对象,并返回一个句柄给应用程序。
在创建或打开文件或设备对象时,NtCreateFile函数会根据传递的访问模式信息设置文件或设备对象的访问属性。例如,如果传递了GENERIC_WRITE访问模式,则文件或设备对象会被设置为可写模式。
总之,CreateFile底层原理就是调用Win32子系统和内核函数来创建或打开文件或设备对象,并设置相应的访问属性。
阅读全文