yuanyuan
驱动大牛
驱动大牛
  • 注册日期2003-01-15
  • 最后登录2010-08-04
  • 粉丝0
  • 关注0
  • 积分1025分
  • 威望300点
  • 贡献值0点
  • 好评度232点
  • 原创分0分
  • 专家分0分
阅读:2001回复:16

5000块钱报酬,小问题:文件夹同步

楼主#
更多 发布于:2008-01-22 14:18
想让C盘的一个目录A里面的所有操作,转移到D:盘的A目录,我用了这样的代码。

RtlInitEmptyUnicodeString( &NewFileName, NameBuf, sizeof(NameBuf) );
RtlAppendUnicodeToString( &NewFileName, L"\\??\\" );
RtlAppendUnicodeToString( &NewFileName, pFileName); // pFileName = c:\a\xxxxxxx

FileNameBuffer = ExAllocatePool(NonPagedPool, NewFileName.MaximumLength);
if (FileNameBuffer==NULL)
{
     KdPrint(("fail to get enough buffer\n"));
     goto Done;
}

ExFreePool(pFileObject->FileName.Buffer);
pFileObject->FileName.Length = 0;
pFileObject->FileName.Buffer = (PWCHAR)FileNameBuffer;
pFileObject->FileName.MaximumLength = NewFileName.MaximumLength;

RtlCopyUnicodeString(&pFileObject->FileName, &NewFileName );
pFileObject->FileName.Buffer[4] = L'D';
pFileObject->FileName.Buffer[pFileObject->FileName.Length/2] = UNICODE_NULL;
 pFileObject->RelatedFileObject = NULL;

KdPrint(("Redirect to %wZ\n", &pFileObject->FileName));
status = STATUS_REPARSE;
Irp->IoStatus.Status = status;
Irp->IoStatus.Information = IO_REPARSE;

IoCompleteRequest( Irp, IO_NO_INCREMENT );
return status;

但是在资源管理器里面,经常出现“文件已经存在无法创建”的错误,从别的文件夹拖文件到这个A目录,会出现A目录里面看不到拖入的文件夹。D:\A里面也看不到。

请大家帮忙啊。
yandong_8212
驱动小牛
驱动小牛
  • 注册日期2006-07-28
  • 最后登录2011-02-11
  • 粉丝0
  • 关注0
  • 积分1046分
  • 威望464点
  • 贡献值1点
  • 好评度173点
  • 原创分0分
  • 专家分1分
沙发#
发布于:2008-01-22 17:14
要处理很多IRP.不是那么简单的.
商务MSN:YanDong_8212@163.com
yuanyuan
驱动大牛
驱动大牛
  • 注册日期2003-01-15
  • 最后登录2010-08-04
  • 粉丝0
  • 关注0
  • 积分1025分
  • 威望300点
  • 贡献值0点
  • 好评度232点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-22 19:40
楼上的兄弟,请不吝赐教啊
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
地板#
发布于:2008-01-23 00:15
try failing FastIoQueryOpen() as well.
yuanyuan
驱动大牛
驱动大牛
  • 注册日期2003-01-15
  • 最后登录2010-08-04
  • 粉丝0
  • 关注0
  • 积分1025分
  • 威望300点
  • 贡献值0点
  • 好评度232点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-01-23 00:56
出5000,有兄弟来接单吗?
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
5楼#
发布于:2008-01-23 01:46
不是那么简单的,要重建fileobject....
没有战争就没有进步 X3工作组 为您提供最好的军火
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
6楼#
发布于:2008-01-23 01:47
可以用重建整个irp请求的方法~
没有战争就没有进步 X3工作组 为您提供最好的军火
abc13271552
驱动小牛
驱动小牛
  • 注册日期2007-08-13
  • 最后登录2023-12-05
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望552点
  • 贡献值0点
  • 好评度160点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2008-01-23 08:35
时限是多少?考虑一下.
驱网无线,快乐无限
linkin__park
驱动牛犊
驱动牛犊
  • 注册日期2006-03-12
  • 最后登录2009-09-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望17点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-01-23 09:29
引用第6楼killvxk于2008-01-23 01:47发表的  :
可以用重建整个irp请求的方法~
以前的IRP请求都不干正事,Rebuild一个新的IRP描述以前的请求,然后返回新的IRP请求的返回值。不知道做起来效果如何,没尝试过。呵呵。回头试下。
geland
驱动牛犊
驱动牛犊
  • 注册日期2003-12-28
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望251点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-01-23 09:48
不知道返回STATUS_REPARSE行不行?
xiexiecn
驱动牛犊
驱动牛犊
  • 注册日期2004-02-25
  • 最后登录2009-02-23
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望28点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-01-23 09:58
如果C盘是NTFS,可以考虑用符号链接来做,不用驱动。
AlexSho
驱动牛犊
驱动牛犊
  • 注册日期2008-01-10
  • 最后登录2017-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望164点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2008-01-23 10:22
怎么交钱和交货?我有现成的。
yuanyuan
驱动大牛
驱动大牛
  • 注册日期2003-01-15
  • 最后登录2010-08-04
  • 粉丝0
  • 关注0
  • 积分1025分
  • 威望300点
  • 贡献值0点
  • 好评度232点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-01-23 16:16
楼上的朋友,发论坛内部消息给我,留下联系方式。
liyunch
驱动小牛
驱动小牛
  • 注册日期2001-06-28
  • 最后登录2014-09-05
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望134点
  • 贡献值0点
  • 好评度94点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2008-01-28 09:40
需要处理的irp很多
lovehhy
驱动小牛
驱动小牛
  • 注册日期2007-09-17
  • 最后登录2010-09-17
  • 粉丝0
  • 关注0
  • 积分1028分
  • 威望244点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-04-02 17:32
搞定了?
newkey
驱动小牛
驱动小牛
  • 注册日期2002-10-03
  • 最后登录2013-10-13
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望392点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2008-04-10 19:41
逆一下微软的SIS

sis.sys
www.xDrv.com
newkey
驱动小牛
驱动小牛
  • 注册日期2002-10-03
  • 最后登录2013-10-13
  • 粉丝1
  • 关注0
  • 积分45分
  • 威望392点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2008-04-10 19:42
如果C盘是NTFS,
可以参考sis.sys
www.xDrv.com
游客

返回顶部