delphi编写的虚拟磁盘开发源码分析.doc
《delphi编写的虚拟磁盘开发源码分析.doc》由会员分享,可在线阅读,更多相关《delphi编写的虚拟磁盘开发源码分析.doc(43页珍藏版)》请在迅下文库上搜索。
1、.Delphi编写的虚拟磁盘开发源码分析一、虚拟光驱驱动C语言编写1、Vcd文件夹1、DeviceThread.h/设备的处理线程VOIDDeviceThread ( IN PVOID Context );2、DeviceThread.c#include #include #include #include #include #include #include #include #include /NTSTATUSVCDOpenFile ( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp )PDEVICE_EXTENSION device_extensi
2、on;PCHAR filename;UCHAR afile_nameMAX_PATH = 0;UNICODE_STRING ufile_name;NTSTATUS status;OBJECT_ATTRIBUTES object_attributes;FILE_END_OF_FILE_INFORMATION file_eof;FILE_BASIC_INFORMATION file_basic;FILE_STANDARD_INFORMATION file_standard;FILE_ALIGNMENT_INFORMATION file_alignment;DbgPrint(VCDOpenFilen
3、);device_extension = (PDEVICE_EXTENSION) DeviceObject-DeviceExtension;filename = (PCHAR)Irp-AssociatedIrp.SystemBuffer;RtlCopyMemory(device_extension-oldfile_name, filename, MAX_PATH);if (filename0 = )if (filename1 = )/ serversharepath*X.iso -UNCserversharepath*X.isostrcpy(afile_name, UNC);strcat(af
4、ile_name, filename);else/ DeviceHarddisk0Partition1path*X.iso 不变strcpy(afile_name, filename);else/ c:path*X.iso -c:path*X.isostrcpy(afile_name, );strcat(afile_name, filename);device_extension-file_name.Length = (USHORT)strlen(afile_name);device_extension-file_name.MaximumLength = device_extension-fi
5、le_name.Length;device_extension-file_name.Buffer = ExAllocatePool(NonPagedPool, device_extension-file_name.Length);RtlCopyMemory(device_extension-file_name.Buffer,afile_name,device_extension-file_name.Length);status = RtlAnsiStringToUnicodeString(&ufile_name,&device_extension-file_name,TRUE);if (!NT
6、_SUCCESS(status)ExFreePool(device_extension-file_name.Buffer);Irp-IoStatus.Status = status;Irp-IoStatus.Information = 0;return status;InitializeObjectAttributes(&object_attributes,&ufile_name,OBJ_CASE_INSENSITIVE,NULL,NULL);status = ZwCreateFile(&device_extension-file_handle,GENERIC_READ,&object_att
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- delphi 编写 虚拟 磁盘 开发 源码 分析
