阅读:1875回复:1
在驱动中调用zwdeviceiocontrol函数设置稀疏文件出错
RtlInitUnicodeString(&filename,L"\\??\\e:\\temp.tmp");
InitializeObjectAttributes(&oa,&filename,OBJ_CASE_INSENSITIVE,NULL,NULL); status = ZwCreateFile(&hHandle,GENERIC_READ | GENERIC_WRITE,&oa,&IoStatus, NULL,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ | FILE_SHARE_WRITE,FILE_SUPERSEDE, FILE_NON_DIRECTORY_FILE |FILE_RANDOM_ACCESS | FILE_SYNCHRONOUS_IO_NONALERT,NULL,0); if (NT_SUCCESS(status)) { status = ZwDeviceIoControlFile(hHandle,NULL,NULL,NULL,&IoStatus,FSCTL_SET_SPARSE,NULL,0,NULL,0); if(NT_SUCCESS(status)) { } } 创建文件成功,但是发送控制码设置这个文件为稀疏文件的时候返回错误代码0xc000000d,status_invalid_parameter,为什么啊? 我想通过ZwSetInformationFile中设置basicinformation来加上稀疏文件的标志位,但是设置stardandinformation中文件大小的时候失败,错误代码也是0xc000000d,或者设置end_of_file的时候也是报同样的错误。 请大家帮我看看,到底问题出在哪里呢? |
|
沙发#
发布于:2008-08-14 15:07
自己顶一下
|
|