Process Monitor将CreateFile操作的处置选项显示为“Open”,“OpenIf”,“Overwrite”,“OverwriteIf”(可能是其他内容)。包含“If”的选项与不包含的选项有何不同?那些CreateFile WinAPI函数'dwCreationDisposition'标志对应哪个?
答案 0 :(得分:10)
CreateFile()是winapi函数。然而,Process Monitor会对本机操作系统进行修补,它只会传递类似于winapi的内容。它与DMS Cutler在DEC工作时设计的操作系统VMS非常相似。 Process Monitor挂钩NtCreateFile(),按照链接查看记录的 CreateDisposition 参数值。复制:
答案 1 :(得分:3)
| CreateFile | NtCreateFile | Process Monitor |
| dwCreationDisposition | CreateDisposition | Disposition |
|-----------------------|-----------------------|-----------------|
| n/a | FILE_SUPERSEDE (0) | Supersede (?) |
| OPEN_EXISTING (3) | FILE_OPEN (1) | Open |
| TRUNCATE_EXISTING (5) | FILE_OPEN (1) | Open |
| CREATE_NEW (1) | FILE_CREATE (2) | Create |
| OPEN_ALWAYS (4) | FILE_OPEN_IF (3) | OpenIf |
| n/a | FILE_OVERWRITE (4) | Overwrite (?) |
| CREATE_ALWAYS (2) | FILE_OVERWRITE_IF (5) | OverwriteIf |