阅读:1367回复:8
关于文件系统开发的问题
在我FSD中,我响应IRP_MJ_QUERY_VOLUME_INFORMATION,
调用pISL = IoGetCurrentIrpStackLocation( pIrp ); switch( pISL->Parameters.QueryVolume.FsInformationClass ) { case FileFsLabelInformation: break; case ... break; default: } 问题是在IFS Kit 中pISL->Parameters.QueryVolume.FsInformationClass 的值只能是1-7的,而我在DOS窗口里面dir的时候,看到她传过来8,为什么?由此而导致DOS窗口里面列不出来目录. 大侠请赐教! |
|
沙发#
发布于:2002-01-31 13:54
看一看NTDDK.h或者ntifs.h
一共9个参数! |
|
|
板凳#
发布于:2002-01-31 14:08
不会吧?我看了ntifs.h里面,那是一个枚举的数据类型,里面总共有8项哦,我的IFS Kit是从本站下载的,还到微软去下了一个fix,不过那只有两个库,跟这个没什么关系啊。难道你的会比我的多?要不把你的ntifs.h发给我看看?谢谢,可惜我没分,要不然就给你分了。
|
|
地板#
发布于:2002-01-31 14:15
我的ntifs.h是这个样子的,你的跟我的有区别吗?
// // Define the file system information class values // // WARNING: The order of the following values are assumed by the I/O system. // Any changes made here should be reflected there as well. typedef enum _FSINFOCLASS { FileFsVolumeInformation = 1, FileFsLabelInformation, // 2 FileFsSizeInformation, // 3 FileFsDeviceInformation, // 4 FileFsAttributeInformation, // 5 FileFsControlInformation, // 6 FileFsReserved0, // 7 FileFsMaximumInformation } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; // end_ntddk end_nthal // // NtQuery[Set]VolumeInformationFile types: // // FILE_FS_LABEL_INFORMATION // FILE_FS_VOLUME_INFORMATION // FILE_FS_SIZE_INFORMATION // FILE_FS_DEVICE_INFORMATION // FILE_FS_ATTRIBUTE_INFORMATION // FILE_FS_CONTROL_INFORMATION // typedef struct _FILE_FS_LABEL_INFORMATION { ....... } FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION; typedef struct _FILE_FS_VOLUME_INFORMATION { ....... } FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION; typedef struct _FILE_FS_SIZE_INFORMATION { ....... } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION; typedef struct _FILE_FS_DEVICE_INFORMATION { ....... } FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION; // ntddk nthal // ntddk nthal typedef struct _FILE_FS_ATTRIBUTE_INFORMATION { ....... } FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION; |
|
地下室#
发布于:2002-01-31 14:17
typedef enum _FSINFOCLASS {
FileFsVolumeInformation = 1, FileFsLabelInformation, // 2 FileFsSizeInformation, // 3 FileFsDeviceInformation, // 4 FileFsAttributeInformation, // 5 FileFsControlInformation, // 6 FileFsFullSizeInformation, // 7 FileFsObjectIdInformation, // 8 FileFsMaximumInformation } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; |
|
|
5楼#
发布于:2002-01-31 14:27
倒!
还真不一样,能把后面对应的结构贴给我吗?我自己加到头文件里面算了。谢谢! |
|
6楼#
发布于:2002-01-31 14:39
ntddk.h\\wdm.h\\ntifs.h中的该结构都是一样的。不知道你的DDK是那样!
|
|
|
7楼#
发布于:2002-01-31 14:44
See NTDDK.H
|
|
|
8楼#
发布于:2002-01-31 14:58
我的确实不一样,原来是我安装的时候把NT4IFS Kit和2K IFS Kit都选了,所以没有这一项,卸掉了重新安装,怪现状没有了,谢谢两位!
|
|