Zhujnt
驱动牛犊
驱动牛犊
  • 注册日期2004-02-16
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1502回复:3

*贴出源代码,100分纠错*

楼主#
更多 发布于:2004-03-19 08:43
NTSTATUS
NetdiskErrorEvent(
IN PVOID TdiEventContext,
IN NTSTATUS Status
)
{
DbgPrint("网络不通或网络出现故障。。。。n");
return STATUS_SUCCESS;
}

//---------------------------------

NTSTATUS
NetdiskSetEventHandler(
IN PDEVICE_EXTENSION pDeviceExt,
IN LONG EventType,
IN PVOID pEventHandler
)
{
NTSTATUS status;
PIRP pIrp;
PDEVICE_OBJECT pDeviceObject;
KEVENT Event;
IO_STATUS_BLOCK IoStatus;

pDeviceObject = IoGetRelatedDeviceObject(pDeviceExt->pEndPointObject);

KeInitializeEvent(&Event, NotificationEvent, FALSE);

pIrp = TdiBuildInternalDeviceControlIrp(
TDI_SET_EVENT_HANDLER,
pDeviceObject,
pDeviceExt->pEndPointObject,
&Event,
&IoStatus
);

if( pIrp == NULL )
{
status = STATUS_INSUFFICIENT_RESOURCES;
DbgPrint("Insufficient Resourcesn");
return status;
}

TdiBuildSetEventHandler(
pIrp,
pDeviceObject,
pDeviceExt->pEndPointObject,
NULL,
NULL,
EventType,
pEventHandler,
NULL
);

status = IoCallDriver(pDeviceObject, pIrp);

if( status == STATUS_PENDING )
{
DbgPrint("step1n");
status = KeWaitForSingleObject( &Event, UserRequest, KernelMode, FALSE, NULL);
}

if( !NT_SUCCESS(status) )
{
DbgPrint("Fail To SetEventHandler n");
return status;
}

DbgPrint("Success to SetEventHandlern");

return IoStatus.Status;
}

//---------------------------------

status = NetdiskSetEventHandler(
pDeviceExt,
TDI_EVENT_DISCONNECT,
NetdiskDisconnectEvent
);
if( !NT_SUCCESS(status) )
{
return status;
}

//_________________________________________
为什么总老是 Fail To SetEventHandler !


[编辑 -  3/19/04 by  Zhujnt]
*学*
Zhujnt
驱动牛犊
驱动牛犊
  • 注册日期2004-02-16
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-31 12:29
谢谢各位,我已经搞定了
*学*
板凳#
发布于:2004-03-24 17:01
嘿,你要看看KeWaitForSingleObject的返回值是什么啊!也许是pending呢!
phenix_xiaomei
驱动小牛
驱动小牛
  • 注册日期2002-03-08
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望57点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-22 13:39
status 的值是多少啊?
游客

返回顶部