28 #define FREEBT_USB_STDCLASS 0xE0 // Wireless Controller 29 #define FREEBT_USB_STDSUBCLASS 0x01 // RF Controller 30 #define FREEBT_USB_STDPROTOCOL 0x01 // Bluetooth Programming 33 #define FREEBT_STDENDPOINT_HCICMD 0x00 // HCI Command 34 #define FREEBT_STDENDPOINT_HCIEVENT 0x81 // HCI Event 35 #define FREEBT_STDENDPOINT_ACLIN 0x82 // HCI Data In 36 #define FREEBT_STDENDPOINT_ACLOUT 0x02 // HCI Data Out 37 #define FREEBT_STDENDPOINT_AUDIOIN 0x83 // SCO In 38 #define FREEBT_STDENDPOINT_AUDIOOUT 0x03 // SCO Out 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"
USBD_PIPE_INFORMATION AudioOutPipe
struct _DEVICE_EXTENSION * PDEVICE_EXTENSION
UNICODE_STRING FreeBT_RegistryPath
KSPIN_LOCK IdleReqStateLock
struct _DEVICE_EXTENSION DEVICE_EXTENSION
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
enum _QUEUE_STATE QUEUE_STATE
SYSTEM_POWER_STATE SysPower
struct _FREEBT_PIPE_CONTEXT * PFREEBT_PIPE_CONTEXT
struct _FREEBT_PIPE_CONTEXT FREEBT_PIPE_CONTEXT
PUSBD_INTERFACE_INFORMATION UsbInterface
USBD_PIPE_INFORMATION EventPipe
USBD_PIPE_INFORMATION DataOutPipe
USBD_PIPE_INFORMATION AudioInPipe
PDEVICE_EXTENSION DeviceExtension
PDEVICE_OBJECT FunctionalDeviceObject
WMILIB_CONTEXT WmiLibInfo
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
USBD_PIPE_INFORMATION DataInPipe
KEVENT NoDpcWorkItemPendingEvent
KEVENT NoIdleReqPendEvent
PDEVICE_OBJECT PhysicalDeviceObject
enum _PIPETYPE FREEBT_PIPETYPE
PUSB_CONFIGURATION_DESCRIPTOR UsbConfigurationDescriptor
struct _IRP_COMPLETION_CONTEXT IRP_COMPLETION_CONTEXT
LIST_ENTRY NewRequestsQueue
enum _WDM_VERSION WDM_VERSION
DEVICE_POWER_STATE DevPower
UNICODE_STRING InterfaceName
DEVICE_CAPABILITIES DeviceCapabilities
PDEVICE_OBJECT TopOfStackDeviceObject
struct _IRP_COMPLETION_CONTEXT * PIRP_COMPLETION_CONTEXT
PFREEBT_PIPE_CONTEXT PipeContext
PUSB_IDLE_CALLBACK_INFO IdleCallbackInfo
WCHAR wszDosDeviceName[50]