1 // Copyright (c) 2004, Antony C. Roberts
3 // Use of this file is subject to the terms
4 // described in the LICENSE.TXT file that
5 // accompanies this file.
7 // Your use of this file indicates your
8 // acceptance of the terms described in
11 // http://www.freebt.net
16 #define REMOTE_WAKEUP_MASK 0x20
22 NTSTATUS
FreeBT_DispatchPnP(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
23 NTSTATUS
HandleStartDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
24 NTSTATUS
HandleQueryStopDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
25 NTSTATUS
HandleQueryRemoveDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
26 NTSTATUS
HandleCancelRemoveDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
27 NTSTATUS
HandleSurpriseRemoval(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
28 NTSTATUS
HandleRemoveDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
29 NTSTATUS
HandleCancelStopDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
30 NTSTATUS
HandleStopDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
31 NTSTATUS
HandleQueryCapabilities(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
32 NTSTATUS
ReadandSelectDescriptors(IN PDEVICE_OBJECT DeviceObject
);
33 NTSTATUS
ConfigureDevice(IN PDEVICE_OBJECT DeviceObject
);
34 NTSTATUS
SelectInterfaces(IN PDEVICE_OBJECT DeviceObject
, IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor
);
35 NTSTATUS
DeconfigureDevice(IN PDEVICE_OBJECT DeviceObject
);
36 NTSTATUS
CallUSBD(IN PDEVICE_OBJECT DeviceObject
, IN PURB Urb
);
37 VOID
ProcessQueuedRequests(IN OUT PDEVICE_EXTENSION DeviceExtension
);
38 NTSTATUS
FreeBT_GetRegistryDword(IN PWCHAR RegPath
, IN PWCHAR ValueName
, IN OUT PULONG Value
);
39 NTSTATUS
FreeBT_DispatchClean(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
42 IN PVOID DeferredContext
,
43 IN PVOID SystemArgument1
,
44 IN PVOID SystemArgument2
);
46 VOID
IdleRequestWorkerRoutine(IN PDEVICE_OBJECT DeviceObject
, IN PVOID Context
);
47 NTSTATUS
FreeBT_AbortPipes(IN PDEVICE_OBJECT DeviceObject
);
48 NTSTATUS
IrpCompletionRoutine(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
, IN PVOID Context
);
49 NTSTATUS
CanStopDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
50 NTSTATUS
CanRemoveDevice(IN PDEVICE_OBJECT DeviceObject
, IN PIRP Irp
);
51 NTSTATUS
ReleaseMemory(IN PDEVICE_OBJECT DeviceObject
);
52 LONG
FreeBT_IoIncrement(IN OUT PDEVICE_EXTENSION DeviceExtension
);
53 LONG
FreeBT_IoDecrement(IN OUT PDEVICE_EXTENSION DeviceExtension
);
54 BOOLEAN
CanDeviceSuspend(IN PDEVICE_EXTENSION DeviceExtension
);
55 PCHAR
PnPMinorFunctionString (IN UCHAR MinorFunction
);