驱动有很多错误码,看的很迷糊,哪位大侠可以给解释下,不知道在什么时候应该返回什么值!
如,我看别人的一个程序在
passtrough 控制设备和当前设备相等时是这样返回的if (g_CDO == DeviceObject)
{
KdPrint((("ERROR CDO:[%08x]\n"), irpSp->MajorFunction, irpSp->MinorFunction));
_asm int 3;
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return STATUS_INVALID_DEVICE_REQUEST;
}而在其他例程却是这样的!
if (g_CDO == DeviceObject)
{
KdPrint(("CDO Closed!\n"));
Irp->IoStatus.Information = 0;
Irp->IoStatus.Status = STATUS_SUCCESS;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return STATUS_SUCCESS;
}这两个可以 使用一样的么???