gongbin_net
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2005-06-07
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1101回复:1

cool-net如何提高虚拟scsi的性能阿,我的代码如下

楼主#
更多 发布于:2005-03-19 20:31
VOID
VDiskWorker(
    IN PVOID StartContext
    )
{
PVDISK_THREAD_EXTENSION ThreadExt = THREADEXT(StartContext);
PLIST_ENTRY ListEntry;
PSCSI_REQUEST_BLOCK Srb;
NTSTATUS Status = STATUS_SUCCESS;

DbgPrint((\"Worker get run\\n\"));

KeSetPriorityThread(
KeGetCurrentThread(),
LOW_REALTIME_PRIORITY );

//
// delay load file
//
// Status = InitializeVDisk(ThreadExt,L\"\\\\DosDevices\\\\c:\\\\vdisk.img\");

//
// notify parent thread initialization finished.
//
ThreadExt->Status = Status;

KeSetEvent(
&ThreadExt->ThreadEvent,
IO_NO_INCREMENT,
FALSE );

if( NT_SUCCESS(Status) )
{
while(TRUE)
{
KeWaitForSingleObject(
&ThreadExt->ThreadEvent,
Executive,
KernelMode,
FALSE, // alertable
NULL );
ListEntry = ExInterlockedRemoveHeadList (
&ThreadExt->RequestHead,
&ThreadExt->ListLock );

while( ListEntry!=NULL )
{
Srb = SRB_FROM_ENTRY(ListEntry);

if( !ProcessSrb(ThreadExt,Srb) )
{
break;
}

ListEntry = ExInterlockedRemoveHeadList (
&ThreadExt->RequestHead,
&ThreadExt->ListLock );
}

if( ThreadExt->ShutdownWorker )
break;
}
}

if( ThreadExt->FileHandle )
{
ZwClose(ThreadExt->FileHandle);
}

DbgPrint((\"Worker terminated\\n\"));
PsTerminateSystemThread(Status);
}
这是系统县城,感觉拷贝文件很慢
怎么办啊,你是如何处理的阿,又没有例子可以参考阿
谢谢你啊
游客

返回顶部