CHALPowerSyscall::CHALPowerSyscall() { m_CanPowerdown = true; m_CanSuspend = QueryCapability("power_management.can_suspend"); m_CanHibernate = QueryCapability("power_management.can_hibernate"); m_CanReboot = true; }
int OvrvisionVideo4Linux::OpenDevice(int num, int width, int height, int frame_rate) { if (SearchDevice(OVRVISIONPRO) != 0) return -1; _width = width; _height = height; #ifdef _DEBUG QueryCapability(); #endif return Init(); }
NTSTATUS SwdmDispatchPnP( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { IO_STACK_LOCATION* pStk; DEVICE_EXTENSION* pCtx; ULONG MinorCode; NTSTATUS Status = STATUS_SUCCESS; DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MJ_PNP Received : Begin\n" ); pStk = IoGetCurrentIrpStackLocation(Irp); pCtx = (DEVICE_EXTENSION*)DeviceObject->DeviceExtension; IoAcquireRemoveLock( &pCtx->RemoveLock, Irp); MinorCode = pStk->MinorFunction; DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "Minor code: 0x%x\n", MinorCode ); switch( MinorCode ) { case IRP_MN_START_DEVICE: DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_START_DEVICE Received : Begin\r\n"); Status = StartDevice( DeviceObject, Irp ); DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_START_DEVICE Received : End\r\n"); break; case IRP_MN_STOP_DEVICE: DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_STOP_DEVICE Received : Begin\r\n"); Status = StopDevice( DeviceObject, Irp ); DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_STOP_DEVICE Received : End\r\n"); break; case IRP_MN_REMOVE_DEVICE: DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_REMOVE_DEVICE Received : Begin\r\n"); Status = RemoveDevice( DeviceObject, Irp ); DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_REMOVE_DEVICE Received : End\r\n"); break; case IRP_MN_QUERY_CAPABILITIES : DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_QUERY_CAPABILITIES Received : Begin\r\n"); Status = QueryCapability( DeviceObject, Irp ); DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_QUERY_CAPABILITIES Received : End\r\n"); break; case IRP_MN_QUERY_BUS_INFORMATION: DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MN_QUERY_BUS_INFORMATION Received : Begin\n"); Status = QueryBus( DeviceObject, Irp ); break; default: break; } IoReleaseRemoveLock( &pCtx->RemoveLock, Irp); if (NT_SUCCESS(Status)) { CompleteRequest( Irp, STATUS_SUCCESS, 0); } DbgPrintEx( DPFLTR_IHVDRIVER_ID, DPFLTR_INFO_LEVEL, "IRP_MJ_PNP Received : End\r\n"); return Status; }