阅读:1237回复:2
KeWaitForSingleObject成功后IoStatus.Status值还是不对
KeInitializeEvent (&Event, NotificationEvent, FALSE);
IoSetCompletionRoutine( pIrp, // The IRP TiSimpTdiReqComplete, // The completion routine &Event, // The completion context TRUE, // Invoke On Success TRUE, // Invoke On Error TRUE // Invoke On Cancel (IoCancelIrp) ); status = IoCallDriver( pDeviceObject, pIrp ); if( !NT_SUCCESS(status) ) { KdPrint( ("IoCallDriver(pDeviceObject = %lx) returned %lx\n",pDeviceObject,status)); } if ((status == STATUS_PENDING)|| (status == STATUS_SUCCESS) ) { ASSERT( KeGetCurrentIrql() == PASSIVE_LEVEL ); status = KeWaitForSingleObject &Event, // Object to wait on. Executive, // Reason for waiting KernelMode, // Processor mode FALSE, // Alertable NULL // Timeout ); if (!NT_SUCCESS(status)) { return status; } KeWaitForSingleObject返回的STATUS_SUCCESS ,但是pIrp->IoStatus.Status的值却不对,值是0xc000207请问这是怎么回事? 大侠指教,谢谢 |
|
沙发#
发布于:2005-01-04 09:27
//
// MessageId: STATUS_INVALID_ADDRESS_COMPONENT // // MessageText: // // The transport rejected the network address specified as invalid. // #define STATUS_INVALID_ADDRESS_COMPONENT ((NTSTATUS)0xC0000207L) |
|
|
板凳#
发布于:2005-01-04 09:56
多谢多谢
|
|