|
|
|
[讨论]为什么搞安全工资不如搞前端开发滴高?
其实很多时候都没有现成的API可用,都要自己写的 |
|
[求助]虚心 迫切 求教 挂载磁盘时遇到的问题。filedisk虚拟磁盘
没时间看代码,我猜加密应该是这样的: 对虚拟磁盘中的文件,写入时加密,读取时解密。 所以,你把虚拟磁盘中的文件,复制到其他盘的时候,其实已经解密了 |
|
[求助]虚心 迫切 求教 挂载磁盘时遇到的问题。filedisk虚拟磁盘
如果从装系统后还是不行,你就单步吧,看看是那里打印的错误 如果不想单步就多加点打印信息,肯定能找到位置,然后查一下错误码的含义! |
|
[求助]虚心 迫切 求教 挂载磁盘时遇到的问题。filedisk虚拟磁盘
刚才在虚拟机试了一下,不存在你所说的问题, 要不你就把c:\test.img,换成别的文件名试试? 建议你弄一个干净的环境(比如在虚拟机重装一个系统),再试一次, |
|
[求助]虚心 迫切 求教 挂载磁盘时遇到的问题。filedisk虚拟磁盘
那就是 c:\test.img 被别的程序占用了? |
|
[求助]虚心 迫切 求教 挂载磁盘时遇到的问题。filedisk虚拟磁盘
估计已经存在X盘了,换别的盘符试试 |
|
[求助]Win7无盘启动,如何才能够让网络模块在IopMarkBootPartition之前启动?
没用的,tdx就算是设置为boot_start,也是一样,还有些地方我不知道 |
|
[原创]NDIS中间层驱动开发在Win7系统下和Windows XP系统下的区别
请教LZ一个问题,最近做了一个基于tdi协议的scsi虚拟磁盘,想在win7下面通过网络来无盘启动, 可是发现,tdi在系统启动时不能使用,返回STATUS_NETWORK_UNREACHABLE (win7下面提供tdi服务的驱动是tdx.sys,我已经把它设置为boot启动) 所以我想问的是,ndis驱动在win7启动时(即在所有的boot类型驱动启动完成以后,system类型之前),是否能够进行udp或tcp的网络通讯? 您的一句回复可以让我走很多弯路,万分感谢! |
|
[求助]Win7无盘启动,如何才能够让网络模块在IopMarkBootPartition之前启动?
感谢楼上的回复,这个无盘在XP是可以启动的,你说的哪些东西都是现成的, 只是现在要移植到Win7上,还请指点一二 |
|
[求助]HttpDisk的TDI_SEND效率十分低下,求大牛帮忙指点明津(这个问题困扰我好几天了)
终于找到原因了,是因为Nagle算法。 TCP在发送数据时,会先把数据存到内部的一个Buffer里面,然后跟下次send的数据进行合并,当大于一个阀值时,数据才真正send的出去。 当然这里有一个超时处理,如果在一定时间内(大约是40ms),没有收集到足够的数据,那么,也会发送出去。 所以,解决方法有两个: 1. 采用”send-recv-send-recv“的模型 也就是说,两个连续的send之间,必须插入一次 recv 请求,这样在recv的时候,TCP返回了对端的ACK确认,这样 send 请求得以继续 2. 在内核中禁用”Nagle“算法 折腾了两天,尝试了很多代码,都没有结果。 #include <tdiinfo.h> #define IOCTL_TCP_SET_INFORMATION_EX \ CTL_CODE(FILE_DEVICE_NETWORK, 1, METHOD_BUFFERED, FILE_WRITE_ACCESS) #define IOCTL_TCP_QUERY_INFORMATION_EX \ CTL_CODE(FILE_DEVICE_NETWORK, 0, METHOD_NEITHER, FILE_ANY_ACCESS) #define TL_INSTANCE 0 #define TCP_SOCKET_NODELAY 1 // NoDelay is currently off and the application wants to turn it on. NTSTATUS TdiSetTcpNoDelay(PFILE_OBJECT connectionFileObject) { PDEVICE_OBJECT devObj; KEVENT event; PIRP irp; IO_STATUS_BLOCK iosb; NTSTATUS status; PIO_STACK_LOCATION StackLocation; INT optionValue = TRUE; PTCP_REQUEST_SET_INFORMATION_EX setInfoEx = NULL; ULONG len = sizeof(TCP_REQUEST_SET_INFORMATION_EX)+sizeof(INT); KeInitializeEvent(&event, NotificationEvent, FALSE); devObj = IoGetRelatedDeviceObject(connectionFileObject); setInfoEx = ExAllocatePoolWithTag(NonPagedPool, len, VDISK_TAG); // // Initialize the TDI information buffers. // setInfoEx->ID.toi_entity.tei_entity = CO_TL_ENTITY; setInfoEx->ID.toi_entity.tei_instance = TL_INSTANCE; setInfoEx->ID.toi_class = INFO_CLASS_PROTOCOL; setInfoEx->ID.toi_type = INFO_TYPE_CONNECTION; setInfoEx->ID.toi_id = TCP_SOCKET_NODELAY; memcpy( setInfoEx->Buffer, &optionValue, sizeof(INT) ); setInfoEx->BufferSize = sizeof(INT); irp = IoBuildDeviceIoControlRequest ( IOCTL_TCP_SET_INFORMATION_EX, devObj, setInfoEx, len, NULL, 0, FALSE, &event, &iosb); if (irp == NULL) { return STATUS_INSUFFICIENT_RESOURCES; } StackLocation = IoGetNextIrpStackLocation( irp ); StackLocation->FileObject = connectionFileObject; status = IoCallDriver(devObj, irp); if (status == STATUS_PENDING) { KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL); status = iosb.Status; } KdPrint(("TdiSetInformation status = 0x%x\n", status)); return NT_SUCCESS(status) ? (ULONG) iosb.Information : status; } 虽然IoCallDriver的返回值是成功的,但是却没有任何效果, 如果有人知道,如何在内核禁用Nagle算法,还请赐教!先谢谢了 |
|
[求助]HttpDisk的TDI_SEND效率十分低下,求大牛帮忙指点明津(这个问题困扰我好几天了)
发现一个新的情况,刚在 Win7下面尝试了一下,发现无论读写,速度都很快 XP下面还是很慢,这样就奇怪了,看起来跟操作系统有点关系 |
|
[求助]HttpDisk的TDI_SEND效率十分低下,求大牛帮忙指点明津(这个问题困扰我好几天了)
今天早上过来又试了一下,还是没有解决,谁给点思路吧 |
|
[求助]HttpDisk的TDI_SEND效率十分低下,求大牛帮忙指点明津(这个问题困扰我好几天了)
别沉啊? 大家给点思路吧 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值