28#define FREEBT_USB_STDCLASS 0xE0
29#define FREEBT_USB_STDSUBCLASS 0x01
30#define FREEBT_USB_STDPROTOCOL 0x01
33#define FREEBT_STDENDPOINT_HCICMD 0x00
34#define FREEBT_STDENDPOINT_HCIEVENT 0x81
35#define FREEBT_STDENDPOINT_ACLIN 0x82
36#define FREEBT_STDENDPOINT_ACLOUT 0x02
37#define FREEBT_STDENDPOINT_AUDIOIN 0x83
38#define FREEBT_STDENDPOINT_AUDIOOUT 0x03
41#define OBTTAG (ULONG) 'OBTU'
44#define ExAllocatePool(type, size) ExAllocatePoolWithTag(type, size, OBTTAG);
48#define FreeBT_DbgPrint(level, _x_) \
49 if((level) <= DebugLevel) { \
55#define FreeBT_DbgPrint(level, _x_)
65#define IDLE_INTERVAL 5000
107#define INITIALIZE_PNP_STATE(_Data_) \
108 (_Data_)->DeviceState = NotStarted;\
109 (_Data_)->PrevDevState = NotStarted;
111#define SET_NEW_PNP_STATE(_Data_, _state_) \
112 (_Data_)->PrevDevState = (_Data_)->DeviceState;\
113 (_Data_)->DeviceState = (_state_);
115#define RESTORE_PREVIOUS_PNP_STATE(_Data_) \
116 (_Data_)->DeviceState = (_Data_)->PrevDevState;
121#define FREEBT_REGISTRY_PARAMETERS_PATH L"\\REGISTRY\\Machine\\System\\CurrentControlSet\\SERVICES\\BULKUSB\\Parameters"
struct _IRP_COMPLETION_CONTEXT * PIRP_COMPLETION_CONTEXT
struct _DEVICE_EXTENSION DEVICE_EXTENSION
enum _QUEUE_STATE QUEUE_STATE
struct _FREEBT_PIPE_CONTEXT * PFREEBT_PIPE_CONTEXT
enum _PIPETYPE FREEBT_PIPETYPE
struct _FREEBT_PIPE_CONTEXT FREEBT_PIPE_CONTEXT
struct _IRP_COMPLETION_CONTEXT IRP_COMPLETION_CONTEXT
struct _DEVICE_EXTENSION * PDEVICE_EXTENSION
enum _WDM_VERSION WDM_VERSION
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
PDEVICE_OBJECT FunctionalDeviceObject
USBD_PIPE_INFORMATION DataOutPipe
PUSBD_INTERFACE_INFORMATION UsbInterface
KSPIN_LOCK IdleReqStateLock
DEVICE_POWER_STATE DevPower
PDEVICE_OBJECT TopOfStackDeviceObject
LIST_ENTRY NewRequestsQueue
WMILIB_CONTEXT WmiLibInfo
DEVICE_CAPABILITIES DeviceCapabilities
SYSTEM_POWER_STATE SysPower
USBD_PIPE_INFORMATION EventPipe
KEVENT NoIdleReqPendEvent
USBD_PIPE_INFORMATION AudioInPipe
USBD_PIPE_INFORMATION AudioOutPipe
WCHAR wszDosDeviceName[50]
USBD_PIPE_INFORMATION DataInPipe
PUSB_IDLE_CALLBACK_INFO IdleCallbackInfo
PFREEBT_PIPE_CONTEXT PipeContext
PDEVICE_OBJECT PhysicalDeviceObject
UNICODE_STRING InterfaceName
PUSB_CONFIGURATION_DESCRIPTOR UsbConfigurationDescriptor
KEVENT NoDpcWorkItemPendingEvent
UNICODE_STRING FreeBT_RegistryPath
PDEVICE_EXTENSION DeviceExtension