2 ReactOS specific functions for usbcore module
3 by Aleksey Bragin (aleksey@reactos.com)
8 #include "../usb_wrapper.h"
10 USBPORT_INTERFACE UsbPortInterface
;
12 void STDCALL
RegisterPortDriver(PDRIVER_OBJECT pDrvObj
, PUSBPORT_INTERFACE pUsbPortIntf
)
14 // copy struct to global var
15 DPRINT("Miniport 0x%08X registered\n", (ULONG
)pDrvObj
);
16 memcpy(&UsbPortInterface
.KbdConnectData
, &pUsbPortIntf
->KbdConnectData
, sizeof(CONNECT_DATA
));
17 memcpy(&UsbPortInterface
.MouseConnectData
, &pUsbPortIntf
->MouseConnectData
, sizeof(CONNECT_DATA
));
21 AddDevice(PDRIVER_OBJECT DriverObject
, PDEVICE_OBJECT pdo
)
23 DbgPrint("usbcore: AddDevice called\n");
25 /* we need to do kind of this stuff here (as usual)
27 IoCreateDevice(..., &fdo);
28 pdx->LowerDeviceObject =
29 IoAttachDeviceToDeviceStack(fdo, pdo);*/
31 return STATUS_SUCCESS
;
35 DriverUnload(PDRIVER_OBJECT DriverObject
)
37 // nothing to do here yet
42 DispatchPnp(PDEVICE_OBJECT fdo
, PIRP Irp
)
45 PIO_STACK_LOCATION stack
;
47 stack
= IoGetCurrentIrpStackLocation(Irp
);
48 fcn
= stack
->MinorFunction
;
49 DbgPrint("IRP_MJ_PNP, fcn=%d\n", fcn
);
51 if (fcn
== IRP_MN_REMOVE_DEVICE
)
56 return STATUS_SUCCESS
;
60 DispatchPower(PDEVICE_OBJECT fido
, PIRP Irp
)
62 DbgPrint("IRP_MJ_POWER dispatch\n");
63 return STATUS_SUCCESS
;
67 * Standard DriverEntry method.
70 DriverEntry(IN PDRIVER_OBJECT DriverObject
, IN PUNICODE_STRING RegPath
)
72 DriverObject
->DriverUnload
= DriverUnload
;
73 DriverObject
->DriverExtension
->AddDevice
= AddDevice
;
74 DriverObject
->MajorFunction
[IRP_MJ_PNP
] = DispatchPnp
;
75 DriverObject
->MajorFunction
[IRP_MJ_POWER
] = DispatchPower
;
77 return STATUS_SUCCESS
;