问题描述
我基于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;