阅读:2082回复:5
做VISTA磁盘过滤驱动程序,该如何挂接各个分区?
我做VISTA硬盘过滤驱动程序,该如何挂接各个分区?用IoAttachDevice 挂接"\\Device\\Harddisk0\\Partition0"不能成功,请各路高手相助,小虾谢谢大家了!
|
|
沙发#
发布于:2007-03-15 09:20
你在XP下也不能这么挂接吧?用DISKPERF来挂.
|
|
|
板凳#
发布于:2007-03-15 16:38
NTSTATUS MC_AddDevice(
PDRIVER_OBJECT iDriverObject, PDEVICE_OBJECT iPhysicalDeviceObject ) { ANSI_STRING mAnsiString; UNICODE_STRING mUnicodeString; PDEVICE_OBJECT mDeviceObject; mPDEVICE_EXTENSION mDeviceExtension; NTSTATUS mStatus; PDEVICE_OBJECT DeviceObject; PFILE_OBJECT FileObject; IoCreateDevice( mDriverObject, sizeof( mDEVICE_EXTENSION ), NULL, FILE_DEVICE_DISK, 0, FALSE, &mDeviceObject ); mDeviceObject -> Flags |= DO_DIRECT_IO; mDeviceExtension = mDeviceObject -> DeviceExtension; // 设备扩展指针 mDeviceExtension -> mExtDeviceObject = mDeviceObject; // 回指功能设备对象 RtlInitAnsiString( &mAnsiString, L""\\Device\\Harddisk0\\Partition1"" ); // 初始化字符串 RtlAnsiStringToUnicodeString( &mUnicodeString, &mAnsiString, TRUE ); IoGetDeviceObjectPointer(&mUnicodeString, 0, &FileObject, &DeviceObject); mDeviceExtension -> mExtTargetDevice = IoAttachDeviceToDeviceStack(mDeviceObject, DeviceObject); RtlFreeUnicodeString( &mUnicodeString ); // 释放字符串缓冲区 } 该如何挂接到硬盘各个分区?请高手指点 |
|
地板#
发布于:2007-03-15 21:39
驱动开发网上以前有DISKFT,不知道它的处理是否在VISTA下是否可用?你试试看吧
|
|
地下室#
发布于:2007-03-16 10:28
大虾,驱动网上找不到,能否发一份给我,chenriliang3@163.com,谢谢
|
|
5楼#
发布于:2007-03-16 16:04
挂分区用 volume filter
|
|