IrpDeleteFileForce到符号链接文件

问题描述

我基于this reference,正在使用符号链接文件测试IrpDeleteFileForce(),但是状态始终为 0xC000000D (STATUS_INVALID_ParaMETER)到 pFileObject 。我只在FILE_OPEN_REPARSE_POINT例程的(IoCreateFile()函数 CreateOptions 参数)中添加GetDriveObject(),而IrpCreateFile()例程返回STATUS_SUCCESS,我不明白为什么{{ 1}}失败:-(

对此有一些解决方案?

IrpDeleteFileForce()

解决方法

解决了!

GetDriveObject()

status = IoCreateFile(&DeviceHandle,SYNCHRONIZE | FILE_ANY_ACCESS,&objectAttributes,&ioStatus,NULL,FILE_SHARE_READ | FILE_SHARE_WRITE,FILE_OPEN,FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT | FILE_OPEN_REPARSE_POINT,CreateFileTypeNone,IO_NO_PARAMETER_CHECKING);

IrpCreateFile()

IrpSp->Parameters.Create.Options = (FILE_OPEN_IF << 24) | FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT | FILE_OPEN_REPARSE_POINT | 0;