Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenserenum.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS Serial enumerator driver 00004 * FILE: drivers/bus/serenum/serenum.c 00005 * PURPOSE: Serial enumerator driver entry point 00006 * 00007 * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) 00008 */ 00009 00010 #define INITGUID 00011 #include "serenum.h" 00012 00013 static DRIVER_DISPATCH SerenumPnp; 00014 static DRIVER_DISPATCH IrpStub; 00015 static DRIVER_UNLOAD DriverUnload; 00016 DRIVER_INITIALIZE DriverEntry; 00017 00018 static NTSTATUS NTAPI 00019 SerenumPnp( 00020 IN PDEVICE_OBJECT DeviceObject, 00021 IN PIRP Irp) 00022 { 00023 if (((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsFDO) 00024 return SerenumFdoPnp(DeviceObject, Irp); 00025 else 00026 return SerenumPdoPnp(DeviceObject, Irp); 00027 } 00028 00029 static VOID NTAPI 00030 DriverUnload(IN PDRIVER_OBJECT DriverObject) 00031 { 00032 // nothing to do here yet 00033 } 00034 00035 static NTSTATUS NTAPI 00036 IrpStub( 00037 IN PDEVICE_OBJECT DeviceObject, 00038 IN PIRP Irp) 00039 { 00040 if (((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsFDO) 00041 { 00042 /* Forward IRPs to lower device */ 00043 return ForwardIrpToLowerDeviceAndForget(DeviceObject, Irp); 00044 } 00045 else 00046 { 00047 /* Forward IRPs to attached FDO */ 00048 return ForwardIrpToAttachedFdoAndForget(DeviceObject, Irp); 00049 } 00050 } 00051 00052 /* 00053 * Standard DriverEntry method. 00054 */ 00055 NTSTATUS NTAPI 00056 DriverEntry( 00057 IN PDRIVER_OBJECT DriverObject, 00058 IN PUNICODE_STRING RegPath) 00059 { 00060 ULONG i; 00061 00062 DriverObject->DriverUnload = DriverUnload; 00063 DriverObject->DriverExtension->AddDevice = SerenumAddDevice; 00064 00065 for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++) 00066 DriverObject->MajorFunction[i] = IrpStub; 00067 00068 //DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = SerialQueryInformation; 00069 DriverObject->MajorFunction[IRP_MJ_PNP] = SerenumPnp; 00070 //DriverObject->MajorFunction[IRP_MJ_POWER] = SerialPower; 00071 00072 return STATUS_SUCCESS; 00073 } Generated on Sat May 26 2012 04:26:44 for ReactOS by
1.7.6.1
|