Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenhubbusif.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 #define _HUBBUSIF_ 00004 00005 #include "usbdi.h" 00006 00007 #if (NTDDI_VERSION >= NTDDI_WINXP) 00008 00009 #if !defined(_USBBUSIF_) 00010 typedef PVOID PUSB_DEVICE_HANDLE; 00011 #endif 00012 00013 typedef struct _ROOTHUB_PDO_EXTENSION { 00014 ULONG Signature; 00015 } ROOTHUB_PDO_EXTENSION, *PROOTHUB_PDO_EXTENSION; 00016 00017 #define USBD_DEVHACK_SLOW_ENUMERATION 0x00000001 00018 #define USBD_DEVHACK_DISABLE_SN 0x00000002 00019 #define USBD_DEVHACK_SET_DIAG_ID 0x00000004 00020 00021 #ifndef USB_BUSIFFN 00022 #define USB_BUSIFFN __stdcall 00023 #endif 00024 00025 #define CD_ERR_V1 0x00000001 00026 00027 #define ID_ERR_V1 0x00000001 00028 00029 #define USBD_KEEP_DEVICE_DATA 0x00000001 00030 #define USBD_MARK_DEVICE_BUSY 0x00000002 00031 00032 #define USB_IDLE_NOT_READY 0 00033 #define USB_IDLE_READY 1 00034 00035 _Function_class_(USB_BUSIFFN_CREATE_USB_DEVICE) 00036 typedef NTSTATUS 00037 USB_BUSIFFN 00038 USB_BUSIFFN_CREATE_USB_DEVICE ( 00039 _In_ PVOID BusContext, 00040 _Outptr_ PUSB_DEVICE_HANDLE *NewDeviceHandle, 00041 _In_ PUSB_DEVICE_HANDLE HubDeviceHandle, 00042 _In_ USHORT PortStatus, 00043 _In_ USHORT PortNumber); 00044 typedef USB_BUSIFFN_CREATE_USB_DEVICE *PUSB_BUSIFFN_CREATE_USB_DEVICE; 00045 00046 typedef enum _USBPORT_CREATEDEV_ERROR { 00047 CreateDevErrNotSet = 0, 00048 CreateDevBadHubDevHandle, 00049 CreateDevFailedAllocDevHandle, 00050 CreateDevFailedOpenEndpoint, 00051 CreateDevFailedAllocDsBuff, 00052 CreateDevFailedGetDs, 00053 CreateDevTtNotFound, 00054 CreateDevBadDevHandlePtr 00055 } USBPORT_CREATEDEV_ERROR; 00056 00057 typedef struct _USB_CD_ERROR_INFORMATION { 00058 ULONG Version; 00059 USBPORT_CREATEDEV_ERROR PathError; 00060 ULONG UlongArg1; 00061 ULONG UlongArg2; 00062 NTSTATUS NtStatus; 00063 UCHAR XtraInfo[64]; 00064 } USB_CD_ERROR_INFORMATION, *PUSB_CD_ERROR_INFORMATION; 00065 00066 _Function_class_(USB_BUSIFFN_CREATE_USB_DEVICE_EX) 00067 typedef NTSTATUS 00068 USB_BUSIFFN 00069 USB_BUSIFFN_CREATE_USB_DEVICE_EX ( 00070 _In_ PVOID BusContext, 00071 _Outptr_ PUSB_DEVICE_HANDLE *NewDeviceHandle, 00072 _In_ PUSB_DEVICE_HANDLE HsHubDeviceHandle, 00073 _In_ USHORT PortStatus, 00074 _In_ USHORT PortNumber, 00075 _Out_ PUSB_CD_ERROR_INFORMATION CdErrorInfo, 00076 _In_ USHORT TtPortNumber); 00077 typedef USB_BUSIFFN_CREATE_USB_DEVICE_EX *PUSB_BUSIFFN_CREATE_USB_DEVICE_EX; 00078 00079 typedef struct _USB_PORT_PATH { 00080 ULONG PortPathDepth; 00081 ULONG PortPath[6]; 00082 } USB_PORT_PATH, *PUSB_PORT_PATH; 00083 00084 _Function_class_(USB_BUSIFFN_CREATE_USB_DEVICE_V7) 00085 typedef NTSTATUS 00086 USB_BUSIFFN 00087 USB_BUSIFFN_CREATE_USB_DEVICE_V7 ( 00088 _In_ PVOID BusContext, 00089 _Outptr_ PUSB_DEVICE_HANDLE *NewDeviceHandle, 00090 _In_ PUSB_DEVICE_HANDLE HsHubDeviceHandle, 00091 _In_ USHORT PortStatus, 00092 _In_ PUSB_PORT_PATH PortPath, 00093 _Out_ PUSB_CD_ERROR_INFORMATION CdErrorInfo, 00094 _In_ USHORT TtPortNumber, 00095 _In_ PDEVICE_OBJECT PdoDeviceObject, 00096 _In_ PUNICODE_STRING PhysicalDeviceObjectName); 00097 typedef USB_BUSIFFN_CREATE_USB_DEVICE_V7 *PUSB_BUSIFFN_CREATE_USB_DEVICE_V7; 00098 00099 typedef enum _USBPORT_INITDEV_ERROR { 00100 InitDevErrNotSet = 0, 00101 InitDevFailedSetAddress, 00102 InitDevFailedPokeEndpoint, 00103 InitDevBadDeviceDescriptor 00104 } USBPORT_INITDEV_ERROR; 00105 00106 typedef struct _USB_ID_ERROR_INFORMATION { 00107 ULONG Version; 00108 USBPORT_INITDEV_ERROR PathError; 00109 ULONG Arg1; 00110 ULONG UsbAddress; 00111 NTSTATUS NtStatus; 00112 USBD_STATUS UsbdStatus; 00113 UCHAR XtraInfo[64]; 00114 } USB_ID_ERROR_INFORMATION, *PUSB_ID_ERROR_INFORMATION; 00115 00116 _Function_class_(USB_BUSIFFN_INITIALIZE_USB_DEVICE) 00117 typedef NTSTATUS 00118 USB_BUSIFFN 00119 USB_BUSIFFN_INITIALIZE_USB_DEVICE( 00120 _In_ PVOID BusContext, 00121 _Inout_ PUSB_DEVICE_HANDLE DeviceHandle); 00122 typedef USB_BUSIFFN_INITIALIZE_USB_DEVICE *PUSB_BUSIFFN_INITIALIZE_USB_DEVICE; 00123 00124 _Function_class_(USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX) 00125 typedef NTSTATUS 00126 USB_BUSIFFN 00127 USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX( 00128 _In_ PVOID BusContext, 00129 _Inout_ PUSB_DEVICE_HANDLE DeviceHandle, 00130 _Out_ PUSB_ID_ERROR_INFORMATION IdErrInfo); 00131 typedef USB_BUSIFFN_INITIALIZE_USB_DEVICE_EX *PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX; 00132 00133 _Function_class_(USB_BUSIFFN_REMOVE_USB_DEVICE) 00134 typedef NTSTATUS 00135 USB_BUSIFFN 00136 USB_BUSIFFN_REMOVE_USB_DEVICE( 00137 _In_ PVOID BusContext, 00138 _Inout_ PUSB_DEVICE_HANDLE DeviceHandle, 00139 _In_ ULONG Flags); 00140 typedef USB_BUSIFFN_REMOVE_USB_DEVICE *PUSB_BUSIFFN_REMOVE_USB_DEVICE; 00141 00142 _Function_class_(USB_BUSIFFN_GET_USB_DESCRIPTORS) 00143 typedef NTSTATUS 00144 USB_BUSIFFN 00145 USB_BUSIFFN_GET_USB_DESCRIPTORS( 00146 _In_ PVOID BusContext, 00147 _Inout_ PUSB_DEVICE_HANDLE DeviceHandle, 00148 _Out_writes_bytes_to_(*DeviceDescriptorBufferLength,*DeviceDescriptorBufferLength) 00149 PUCHAR DeviceDescriptorBuffer, 00150 _Inout_ PULONG DeviceDescriptorBufferLength, 00151 _Out_writes_bytes_to_(*ConfigDescriptorBufferLength, *ConfigDescriptorBufferLength) 00152 PUCHAR ConfigDescriptorBuffer, 00153 _Inout_ PULONG ConfigDescriptorBufferLength); 00154 typedef USB_BUSIFFN_GET_USB_DESCRIPTORS *PUSB_BUSIFFN_GET_USB_DESCRIPTORS; 00155 00156 _Function_class_(USB_BUSIFFN_RESTORE_DEVICE) 00157 typedef NTSTATUS 00158 USB_BUSIFFN 00159 USB_BUSIFFN_RESTORE_DEVICE( 00160 _In_ PVOID BusContext, 00161 _Inout_ PUSB_DEVICE_HANDLE OldDeviceHandle, 00162 _Inout_ PUSB_DEVICE_HANDLE NewDeviceHandle); 00163 typedef USB_BUSIFFN_RESTORE_DEVICE *PUSB_BUSIFFN_RESTORE_DEVICE; 00164 00165 _Function_class_(USB_BUSIFFN_GET_POTRTHACK_FLAGS) 00166 typedef NTSTATUS 00167 USB_BUSIFFN 00168 USB_BUSIFFN_GET_POTRTHACK_FLAGS( 00169 _In_ PVOID BusContext, 00170 _Inout_ PULONG Flags); 00171 typedef USB_BUSIFFN_GET_POTRTHACK_FLAGS *PUSB_BUSIFFN_GET_POTRTHACK_FLAGS; 00172 00173 _Function_class_(USB_BUSIFFN_GET_DEVICE_INFORMATION) 00174 typedef NTSTATUS 00175 USB_BUSIFFN 00176 USB_BUSIFFN_GET_DEVICE_INFORMATION( 00177 _In_ PVOID BusContext, 00178 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00179 _Out_writes_bytes_to_(DeviceInformationBufferLength,*LengthOfDataCopied) 00180 PVOID DeviceInformationBuffer, 00181 _In_ ULONG DeviceInformationBufferLength, 00182 _Inout_ PULONG LengthOfDataCopied); 00183 typedef USB_BUSIFFN_GET_DEVICE_INFORMATION *PUSB_BUSIFFN_GET_DEVICE_INFORMATION; 00184 00185 _Function_class_(USB_BUSIFFN_GET_CONTROLLER_INFORMATION) 00186 typedef NTSTATUS 00187 USB_BUSIFFN 00188 USB_BUSIFFN_GET_CONTROLLER_INFORMATION( 00189 _In_ PVOID BusContext, 00190 _Inout_updates_bytes_to_(ControllerInformationBufferLength, *LengthOfDataCopied) 00191 PVOID ControllerInformationBuffer, 00192 _In_ ULONG ControllerInformationBufferLength, 00193 _Inout_ PULONG LengthOfDataCopied); 00194 typedef USB_BUSIFFN_GET_CONTROLLER_INFORMATION *PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION; 00195 00196 _Function_class_(USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND) 00197 typedef NTSTATUS 00198 USB_BUSIFFN 00199 USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND( 00200 _In_ PVOID BusContext, 00201 _In_ BOOLEAN Enable); 00202 typedef USB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND *PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND; 00203 00204 _Function_class_(USB_BUSIFFN_GET_EXTENDED_HUB_INFO) 00205 typedef NTSTATUS 00206 USB_BUSIFFN 00207 USB_BUSIFFN_GET_EXTENDED_HUB_INFO( 00208 _In_ PVOID BusContext, 00209 _In_ PDEVICE_OBJECT HubPhysicalDeviceObject, 00210 _Inout_updates_bytes_to_(HubInformationBufferLength, *LengthOfDataCopied) 00211 PVOID HubInformationBuffer, 00212 _In_ ULONG HubInformationBufferLength, 00213 _Out_ PULONG LengthOfDataCopied); 00214 typedef USB_BUSIFFN_GET_EXTENDED_HUB_INFO *PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO; 00215 00216 _Function_class_(USB_BUSIFFN_GET_ROOTHUB_SYM_NAME) 00217 typedef NTSTATUS 00218 USB_BUSIFFN 00219 USB_BUSIFFN_GET_ROOTHUB_SYM_NAME( 00220 _In_ PVOID BusContext, 00221 _Inout_updates_bytes_to_(HubSymNameBufferLength, *HubSymNameActualLength) PVOID HubSymNameBuffer, 00222 _In_ ULONG HubSymNameBufferLength, 00223 _Out_ PULONG HubSymNameActualLength); 00224 typedef USB_BUSIFFN_GET_ROOTHUB_SYM_NAME *PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME; 00225 00226 _Function_class_(USB_BUSIFFN_GET_DEVICE_BUSCONTEXT) 00227 typedef PVOID 00228 USB_BUSIFFN 00229 USB_BUSIFFN_GET_DEVICE_BUSCONTEXT( 00230 _In_ PVOID HubBusContext, 00231 _In_ PVOID DeviceHandle); 00232 typedef USB_BUSIFFN_GET_DEVICE_BUSCONTEXT *PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT; 00233 00234 _Function_class_(USB_BUSIFFN_INITIALIZE_20HUB) 00235 typedef NTSTATUS 00236 USB_BUSIFFN 00237 USB_BUSIFFN_INITIALIZE_20HUB( 00238 _In_ PVOID BusContext, 00239 _In_ PUSB_DEVICE_HANDLE HubDeviceHandle, 00240 _In_ ULONG TtCount); 00241 typedef USB_BUSIFFN_INITIALIZE_20HUB *PUSB_BUSIFFN_INITIALIZE_20HUB; 00242 00243 _Function_class_(USB_BUSIFFN_IS_ROOT) 00244 typedef BOOLEAN 00245 USB_BUSIFFN 00246 USB_BUSIFFN_IS_ROOT( 00247 _In_ PVOID BusContext, 00248 _In_ PVOID DeviceObject); 00249 typedef USB_BUSIFFN_IS_ROOT *PUSB_BUSIFFN_IS_ROOT; 00250 00251 _Function_class_(USB_BUSIFFN_ACQUIRE_SEMAPHORE) 00252 typedef VOID 00253 USB_BUSIFFN 00254 USB_BUSIFFN_ACQUIRE_SEMAPHORE( 00255 _In_ PVOID BusContext); 00256 typedef USB_BUSIFFN_ACQUIRE_SEMAPHORE *PUSB_BUSIFFN_ACQUIRE_SEMAPHORE; 00257 00258 _Function_class_(USB_BUSIFFN_RELEASE_SEMAPHORE) 00259 typedef VOID 00260 USB_BUSIFFN 00261 USB_BUSIFFN_RELEASE_SEMAPHORE( 00262 _In_ PVOID BusContext); 00263 typedef USB_BUSIFFN_RELEASE_SEMAPHORE *PUSB_BUSIFFN_RELEASE_SEMAPHORE; 00264 00265 _Function_class_(RH_INIT_CALLBACK) 00266 typedef VOID 00267 __stdcall 00268 RH_INIT_CALLBACK( 00269 _In_ PVOID CallBackContext); 00270 typedef RH_INIT_CALLBACK *PRH_INIT_CALLBACK; 00271 00272 _Function_class_(USB_BUSIFFN_ROOTHUB_INIT_NOTIFY) 00273 typedef NTSTATUS 00274 USB_BUSIFFN 00275 USB_BUSIFFN_ROOTHUB_INIT_NOTIFY( 00276 _In_ PVOID BusContext, 00277 _In_ PVOID CallbackContext, 00278 _In_ PRH_INIT_CALLBACK CallbackRoutine); 00279 typedef USB_BUSIFFN_ROOTHUB_INIT_NOTIFY *PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY; 00280 00281 _Function_class_(USB_BUSIFFN_FLUSH_TRANSFERS) 00282 typedef VOID 00283 USB_BUSIFFN 00284 USB_BUSIFFN_FLUSH_TRANSFERS( 00285 _In_ PVOID BusContext, 00286 _In_ PVOID DeviceHandle); 00287 typedef USB_BUSIFFN_FLUSH_TRANSFERS *PUSB_BUSIFFN_FLUSH_TRANSFERS; 00288 00289 _Function_class_(USB_BUSIFFN_CALC_PIPE_BANDWIDTH) 00290 typedef ULONG 00291 USB_BUSIFFN 00292 USB_BUSIFFN_CALC_PIPE_BANDWIDTH( 00293 _In_ PVOID BusContext, 00294 _In_ PUSBD_PIPE_INFORMATION PipeInfo, 00295 _In_ USB_DEVICE_SPEED DeviceSpeed); 00296 typedef USB_BUSIFFN_CALC_PIPE_BANDWIDTH *PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH; 00297 00298 _Function_class_(USB_BUSIFFN_SET_BUS_WAKE_MODE) 00299 typedef VOID 00300 USB_BUSIFFN 00301 USB_BUSIFFN_SET_BUS_WAKE_MODE( 00302 _In_ PVOID BusContext, 00303 _In_ ULONG Mode); 00304 typedef USB_BUSIFFN_SET_BUS_WAKE_MODE *PUSB_BUSIFFN_SET_BUS_WAKE_MODE; 00305 00306 _Function_class_(USB_BUSIFFN_SET_DEVICE_FLAG) 00307 typedef VOID 00308 USB_BUSIFFN 00309 USB_BUSIFFN_SET_DEVICE_FLAG( 00310 _In_ PVOID BusContext, 00311 _In_ GUID *DeviceFlagGuid, 00312 _In_ PVOID ValueData, 00313 _In_ ULONG ValueLength); 00314 typedef USB_BUSIFFN_SET_DEVICE_FLAG *PUSB_BUSIFFN_SET_DEVICE_FLAG; 00315 00316 _Function_class_(USB_BUSIFFN_SET_DEVHANDLE_DATA) 00317 typedef VOID 00318 USB_BUSIFFN 00319 USB_BUSIFFN_SET_DEVHANDLE_DATA( 00320 _In_ PVOID BusContext, 00321 _In_ PVOID DeviceHandle, 00322 _In_ PDEVICE_OBJECT UsbDevicePdo); 00323 typedef USB_BUSIFFN_SET_DEVHANDLE_DATA *PUSB_BUSIFFN_SET_DEVHANDLE_DATA; 00324 00325 _Function_class_(USB_BUSIFFN_TEST_POINT) 00326 typedef NTSTATUS 00327 USB_BUSIFFN 00328 USB_BUSIFFN_TEST_POINT( 00329 _In_ PVOID BusContext, 00330 _In_ PVOID DeviceHandle, 00331 _In_ ULONG Opcode, 00332 _In_ PVOID TestData); 00333 typedef USB_BUSIFFN_TEST_POINT *PUSB_BUSIFFN_TEST_POINT; 00334 00335 _Function_class_(USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO) 00336 typedef NTSTATUS 00337 USB_BUSIFFN 00338 USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO( 00339 _In_ PVOID BusContext, 00340 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00341 _Out_writes_bytes_to_(DeviceInformationBufferLength,*LengthOfDataCopied) 00342 PVOID DeviceInformationBuffer, 00343 _In_ ULONG DeviceInformationBufferLength, 00344 _Inout_ PULONG LengthOfDataCopied); 00345 typedef USB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO *PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO; 00346 00347 _Function_class_(USB_BUSIFFN_WAIT_ASYNC_POWERUP) 00348 typedef NTSTATUS 00349 USB_BUSIFFN 00350 USB_BUSIFFN_WAIT_ASYNC_POWERUP( 00351 _In_ PVOID BusContext); 00352 typedef USB_BUSIFFN_WAIT_ASYNC_POWERUP *PUSB_BUSIFFN_WAIT_ASYNC_POWERUP; 00353 00354 _Function_class_(USB_BUSIFFN_GET_DEVICE_ADDRESS) 00355 typedef NTSTATUS 00356 USB_BUSIFFN 00357 USB_BUSIFFN_GET_DEVICE_ADDRESS( 00358 _In_ PVOID BusContext, 00359 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00360 _Out_ PUSHORT DeviceAddress); 00361 typedef USB_BUSIFFN_GET_DEVICE_ADDRESS *PUSB_BUSIFFN_GET_DEVICE_ADDRESS; 00362 00363 _Function_class_(USB_BUSIFFN_DEREF_DEVICE_HANDLE) 00364 typedef VOID 00365 USB_BUSIFFN 00366 USB_BUSIFFN_DEREF_DEVICE_HANDLE( 00367 _In_ PVOID BusContext, 00368 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00369 _In_ PVOID Object, 00370 _In_ ULONG Tag); 00371 typedef USB_BUSIFFN_DEREF_DEVICE_HANDLE *PUSB_BUSIFFN_DEREF_DEVICE_HANDLE; 00372 00373 _Function_class_(USB_BUSIFFN_REF_DEVICE_HANDLE) 00374 typedef NTSTATUS 00375 USB_BUSIFFN 00376 USB_BUSIFFN_REF_DEVICE_HANDLE( 00377 _In_ PVOID BusContext, 00378 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00379 _In_ PVOID Object, 00380 _In_ ULONG Tag); 00381 typedef USB_BUSIFFN_REF_DEVICE_HANDLE *PUSB_BUSIFFN_REF_DEVICE_HANDLE; 00382 00383 _Function_class_(USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE) 00384 typedef ULONG 00385 USB_BUSIFFN 00386 USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE( 00387 _In_ PVOID BusContext, 00388 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00389 _In_ ULONG NewIdleReadyState); 00390 typedef USB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE *PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE; 00391 00392 _Function_class_(USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT) 00393 typedef NTSTATUS 00394 USB_BUSIFFN 00395 USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT( 00396 _In_ PVOID BusContext, 00397 _In_ USHORT PortNumber, 00398 _Out_ LPGUID ContainerId); 00399 typedef USB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT *PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT; 00400 00401 _Function_class_(USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT) 00402 typedef VOID 00403 USB_BUSIFFN 00404 USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT( 00405 _In_ PVOID BusContext, 00406 _In_ USHORT PortNumber, 00407 _In_ LPGUID ContainerId); 00408 typedef USB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT *PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT; 00409 00410 _Function_class_(USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES) 00411 typedef NTSTATUS 00412 USB_BUSIFFN 00413 USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES( 00414 _In_ PVOID BusContext, 00415 _In_ PUSB_DEVICE_HANDLE DeviceHandle); 00416 typedef USB_BUSIFFN_ABORT_ALL_DEVICE_PIPES *PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES; 00417 00418 #define ERRATA_FLAG_RESET_TT_ON_CANCEL 1 00419 #define ERRATA_FLAG_NO_CLEAR_TT_BUFFER_ON_CANCEL 2 00420 00421 #define USB_BUSIF_HUB_VERSION_0 0x0000 00422 #define USB_BUSIF_HUB_VERSION_1 0x0001 00423 #define USB_BUSIF_HUB_VERSION_2 0x0002 00424 #define USB_BUSIF_HUB_VERSION_3 0x0003 00425 #define USB_BUSIF_HUB_VERSION_4 0x0004 00426 #define USB_BUSIF_HUB_VERSION_5 0x0005 00427 #define USB_BUSIF_HUB_VERSION_6 0x0006 00428 #define USB_BUSIF_HUB_VERSION_7 0x0007 00429 00430 #define USB_BUSIF_HUB_MIDUMP_VERSION_0 0x0000 00431 00432 #define USB_BUSIF_HUB_SS_VERSION_0 0x0000 00433 00434 _Function_class_(USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG) 00435 typedef VOID 00436 USB_BUSIFFN 00437 USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG( 00438 _In_ PVOID BusContext, 00439 _In_ PUSB_DEVICE_HANDLE DeviceHandle, 00440 _In_ ULONG DeviceErrataFlag); 00441 typedef USB_BUSIFFN_SET_DEVICE_ERRATA_FLAG *PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG; 00442 00443 DEFINE_GUID(USB_BUS_INTERFACE_HUB_GUID, 00444 0xb2bb8c0a, 0x5ab4, 0x11d3, 0xa8, 0xcd, 0x0, 0xc0, 0x4f, 0x68, 0x74, 0x7a); 00445 00446 typedef struct _USB_BUS_INTERFACE_HUB_V0 { 00447 USHORT Size; 00448 USHORT Version; 00449 PVOID BusContext; 00450 PINTERFACE_REFERENCE InterfaceReference; 00451 PINTERFACE_DEREFERENCE InterfaceDereference; 00452 } USB_BUS_INTERFACE_HUB_V0, *PUSB_BUS_INTERFACE_HUB_V0; 00453 00454 typedef struct _USB_BUS_INTERFACE_HUB_V1 { 00455 USHORT Size; 00456 USHORT Version; 00457 PVOID BusContext; 00458 PINTERFACE_REFERENCE InterfaceReference; 00459 PINTERFACE_DEREFERENCE InterfaceDereference; 00460 PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice; 00461 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice; 00462 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00463 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00464 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00465 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00466 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00467 } USB_BUS_INTERFACE_HUB_V1, *PUSB_BUS_INTERFACE_HUB_V1; 00468 00469 typedef struct _USB_BUS_INTERFACE_HUB_V2 { 00470 USHORT Size; 00471 USHORT Version; 00472 PVOID BusContext; 00473 PINTERFACE_REFERENCE InterfaceReference; 00474 PINTERFACE_DEREFERENCE InterfaceDereference; 00475 PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice; 00476 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice; 00477 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00478 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00479 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00480 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00481 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00482 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00483 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00484 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00485 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00486 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00487 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00488 } USB_BUS_INTERFACE_HUB_V2, *PUSB_BUS_INTERFACE_HUB_V2; 00489 00490 typedef struct _USB_BUS_INTERFACE_HUB_V3 { 00491 USHORT Size; 00492 USHORT Version; 00493 PVOID BusContext; 00494 PINTERFACE_REFERENCE InterfaceReference; 00495 PINTERFACE_DEREFERENCE InterfaceDereference; 00496 PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice; 00497 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice; 00498 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00499 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00500 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00501 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00502 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00503 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00504 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00505 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00506 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00507 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00508 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00509 PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification; 00510 } USB_BUS_INTERFACE_HUB_V3, *PUSB_BUS_INTERFACE_HUB_V3; 00511 00512 typedef struct _USB_BUS_INTERFACE_HUB_V4 { 00513 USHORT Size; 00514 USHORT Version; 00515 PVOID BusContext; 00516 PINTERFACE_REFERENCE InterfaceReference; 00517 PINTERFACE_DEREFERENCE InterfaceDereference; 00518 PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice; 00519 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice; 00520 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00521 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00522 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00523 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00524 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00525 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00526 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00527 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00528 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00529 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00530 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00531 PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification; 00532 PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers; 00533 } USB_BUS_INTERFACE_HUB_V4, *PUSB_BUS_INTERFACE_HUB_V4; 00534 00535 typedef struct _USB_BUS_INTERFACE_HUB_V5 { 00536 USHORT Size; 00537 USHORT Version; 00538 PVOID BusContext; 00539 PINTERFACE_REFERENCE InterfaceReference; 00540 PINTERFACE_DEREFERENCE InterfaceDereference; 00541 PUSB_BUSIFFN_CREATE_USB_DEVICE CreateUsbDevice; 00542 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE InitializeUsbDevice; 00543 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00544 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00545 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00546 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00547 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00548 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00549 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00550 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00551 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00552 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00553 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00554 PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification; 00555 PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers; 00556 PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData; 00557 } USB_BUS_INTERFACE_HUB_V5, *PUSB_BUS_INTERFACE_HUB_V5; 00558 00559 typedef struct _USB_BUS_INTERFACE_HUB_V6 { 00560 USHORT Size; 00561 USHORT Version; 00562 PVOID BusContext; 00563 PINTERFACE_REFERENCE InterfaceReference; 00564 PINTERFACE_DEREFERENCE InterfaceDereference; 00565 PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice; 00566 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice; 00567 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00568 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00569 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00570 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00571 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00572 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00573 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00574 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00575 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00576 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00577 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00578 PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification; 00579 PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers; 00580 PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData; 00581 PUSB_BUSIFFN_IS_ROOT HubIsRoot; 00582 PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore; 00583 PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore; 00584 PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth; 00585 PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode; 00586 PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag; 00587 PUSB_BUSIFFN_TEST_POINT HubTestPoint; 00588 PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo; 00589 PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp; 00590 PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress; 00591 PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle; 00592 PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle; 00593 PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState; 00594 } USB_BUS_INTERFACE_HUB_V6, *PUSB_BUS_INTERFACE_HUB_V6; 00595 00596 typedef struct _USB_BUS_INTERFACE_HUB_V7 { 00597 USHORT Size; 00598 USHORT Version; 00599 PVOID BusContext; 00600 PINTERFACE_REFERENCE InterfaceReference; 00601 PINTERFACE_DEREFERENCE InterfaceDereference; 00602 PUSB_BUSIFFN_CREATE_USB_DEVICE_EX CreateUsbDevice; 00603 PUSB_BUSIFFN_INITIALIZE_USB_DEVICE_EX InitializeUsbDevice; 00604 PUSB_BUSIFFN_GET_USB_DESCRIPTORS GetUsbDescriptors; 00605 PUSB_BUSIFFN_REMOVE_USB_DEVICE RemoveUsbDevice; 00606 PUSB_BUSIFFN_RESTORE_DEVICE RestoreUsbDevice; 00607 PUSB_BUSIFFN_GET_POTRTHACK_FLAGS GetPortHackFlags; 00608 PUSB_BUSIFFN_GET_DEVICE_INFORMATION QueryDeviceInformation; 00609 PUSB_BUSIFFN_GET_CONTROLLER_INFORMATION GetControllerInformation; 00610 PUSB_BUSIFFN_CONTROLLER_SELECTIVE_SUSPEND ControllerSelectiveSuspend; 00611 PUSB_BUSIFFN_GET_EXTENDED_HUB_INFO GetExtendedHubInformation; 00612 PUSB_BUSIFFN_GET_ROOTHUB_SYM_NAME GetRootHubSymbolicName; 00613 PUSB_BUSIFFN_GET_DEVICE_BUSCONTEXT GetDeviceBusContext; 00614 PUSB_BUSIFFN_INITIALIZE_20HUB Initialize20Hub; 00615 PUSB_BUSIFFN_ROOTHUB_INIT_NOTIFY RootHubInitNotification; 00616 PUSB_BUSIFFN_FLUSH_TRANSFERS FlushTransfers; 00617 PUSB_BUSIFFN_SET_DEVHANDLE_DATA SetDeviceHandleData; 00618 PUSB_BUSIFFN_IS_ROOT HubIsRoot; 00619 PUSB_BUSIFFN_ACQUIRE_SEMAPHORE AcquireBusSemaphore; 00620 PUSB_BUSIFFN_RELEASE_SEMAPHORE ReleaseBusSemaphore; 00621 PUSB_BUSIFFN_CALC_PIPE_BANDWIDTH CaculatePipeBandwidth; 00622 PUSB_BUSIFFN_SET_BUS_WAKE_MODE SetBusSystemWakeMode; 00623 PUSB_BUSIFFN_SET_DEVICE_FLAG SetDeviceFlag; 00624 PUSB_BUSIFFN_TEST_POINT HubTestPoint; 00625 PUSB_BUSIFFN_GET_DEVICE_PERFORMANCE_INFO GetDevicePerformanceInfo; 00626 PUSB_BUSIFFN_WAIT_ASYNC_POWERUP WaitAsyncPowerUp; 00627 PUSB_BUSIFFN_GET_DEVICE_ADDRESS GetDeviceAddress; 00628 PUSB_BUSIFFN_REF_DEVICE_HANDLE RefDeviceHandle; 00629 PUSB_BUSIFFN_DEREF_DEVICE_HANDLE DerefDeviceHandle; 00630 PUSB_BUSIFFN_SET_DEVICE_HANDLE_IDLE_READY_STATE SetDeviceHandleIdleReadyState; 00631 PUSB_BUSIFFN_CREATE_USB_DEVICE_V7 CreateUsbDeviceV7; 00632 PUSB_BUSIFFN_GET_CONTAINER_ID_FOR_PORT GetContainerIdForPort; 00633 PUSB_BUSIFFN_SET_CONTAINER_ID_FOR_PORT SetContainerIdForPort; 00634 PUSB_BUSIFFN_ABORT_ALL_DEVICE_PIPES AbortAllDevicePipes; 00635 PUSB_BUSIFFN_SET_DEVICE_ERRATA_FLAG SetDeviceErrataFlag; 00636 } USB_BUS_INTERFACE_HUB_V7, *PUSB_BUS_INTERFACE_HUB_V7; 00637 00638 DEFINE_GUID(USB_BUS_INTERFACE_HUB_MINIDUMP_GUID, 00639 0xc5485f21, 0x4e81, 0x4a23, 0xa8, 0xf9, 0xd8, 0x51, 0x8a, 0xf4, 0x5c, 0x38); 00640 00641 typedef VOID 00642 (USB_BUSIFFN *PUSB_BUSIFFN_SET_MINIDUMP_FLAGS) ( 00643 IN PVOID); 00644 00645 typedef struct _USB_BUS_INTERFACE_HUB_MINIDUMP { 00646 USHORT Size; 00647 USHORT Version; 00648 PVOID BusContext; 00649 PINTERFACE_REFERENCE InterfaceReference; 00650 PINTERFACE_DEREFERENCE InterfaceDereference; 00651 PUSB_BUSIFFN_SET_MINIDUMP_FLAGS SetUsbPortMiniDumpFlags; 00652 } USB_BUS_INTERFACE_HUB_MINIDUMP, *PUSB_BUS_INTERFACE_HUB_MINIDUMP; 00653 00654 DEFINE_GUID(USB_BUS_INTERFACE_HUB_SS_GUID, 00655 0xbfc3f363, 0x8ba1, 0x4c7b, 0x97, 0xba, 0x9b, 0x12, 0xb1, 0xca, 0x13, 0x2f); 00656 00657 typedef NTSTATUS 00658 (USB_BUSIFFN *PUSB_BUSIFFN_SUSPEND_HUB) ( 00659 PDEVICE_OBJECT Pdo); 00660 00661 typedef NTSTATUS 00662 (USB_BUSIFFN *PUSB_BUSIFFN_RESUME_HUB) ( 00663 PDEVICE_OBJECT Pdo); 00664 00665 typedef struct _USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND { 00666 USHORT Size; 00667 USHORT Version; 00668 PVOID BusContext; 00669 PINTERFACE_REFERENCE InterfaceReference; 00670 PINTERFACE_DEREFERENCE InterfaceDereference; 00671 PUSB_BUSIFFN_SUSPEND_HUB SuspendHub; 00672 PUSB_BUSIFFN_RESUME_HUB ResumeHub; 00673 } USB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND, *PUSB_BUS_INTERFACE_HUB_SELECTIVE_SUSPEND; 00674 00675 #include <pshpack1.h> 00676 00677 typedef struct _USB_PIPE_INFORMATION_0 { 00678 USB_ENDPOINT_DESCRIPTOR EndpointDescriptor; 00679 UCHAR ED_Pad[1]; 00680 ULONG ScheduleOffset; 00681 } USB_PIPE_INFORMATION_0, *PUSB_PIPE_INFORMATION_0; 00682 00683 typedef struct _USB_LEVEL_INFORMATION { 00684 ULONG InformationLevel; 00685 ULONG ActualLength; 00686 } USB_LEVEL_INFORMATION, *PUSB_LEVEL_INFORMATION; 00687 00688 typedef struct _USB_DEVICE_INFORMATION_0 { 00689 ULONG InformationLevel; 00690 ULONG ActualLength; 00691 ULONG PortNumber; 00692 USB_DEVICE_DESCRIPTOR DeviceDescriptor; 00693 UCHAR DD_pad[2]; 00694 UCHAR CurrentConfigurationValue; 00695 UCHAR ReservedMBZ; 00696 USHORT DeviceAddress; 00697 ULONG HubAddress; 00698 USB_DEVICE_SPEED DeviceSpeed; 00699 USB_DEVICE_TYPE DeviceType; 00700 ULONG NumberOfOpenPipes; 00701 USB_PIPE_INFORMATION_0 PipeList[1]; 00702 } USB_DEVICE_INFORMATION_0, *PUSB_DEVICE_INFORMATION_0; 00703 00704 typedef struct _USB_CONTROLLER_INFORMATION_0 { 00705 ULONG InformationLevel; 00706 ULONG ActualLength; 00707 BOOLEAN SelectiveSuspendEnabled; 00708 BOOLEAN IsHighSpeedController; 00709 } USB_CONTROLLER_INFORMATION_0, *PUSB_CONTROLLER_INFORMATION_0; 00710 00711 typedef struct _USB_CONTROLLER_INFORMATION_1 { 00712 ULONG InformationLevel; 00713 ULONG ActualLength; 00714 BOOLEAN SelectiveSuspendEnabled; 00715 BOOLEAN IsHighSpeedController; 00716 ULONG HcBusNumber; 00717 ULONG HcBusDevice; 00718 ULONG HcBusFunction; 00719 } USB_CONTROLLER_INFORMATION_1, *PUSB_CONTROLLER_INFORMATION_1; 00720 00721 typedef struct _USB_EXTPORT_INFORMATION_0 { 00722 ULONG PhysicalPortNumber; 00723 ULONG PortLabelNumber; 00724 USHORT VidOverride; 00725 USHORT PidOverride; 00726 ULONG PortAttributes; 00727 } USB_EXTPORT_INFORMATION_0, *PUSB_EXTPORT_INFORMATION; 00728 00729 typedef struct _USB_EXTHUB_INFORMATION_0 { 00730 ULONG InformationLevel; 00731 ULONG NumberOfPorts; 00732 USB_EXTPORT_INFORMATION_0 Port[255]; 00733 } USB_EXTHUB_INFORMATION_0, *PUSB_EXTHUB_INFORMATION_0; 00734 00735 typedef struct _USB_DEVICE_PERFORMANCE_INFO_0 { 00736 ULONG InformationLevel; 00737 ULONG ActualLength; 00738 ULONG BulkBytes; 00739 ULONG BulkUrbCount; 00740 ULONG ControlDataBytes; 00741 ULONG ControlUrbCount; 00742 ULONG IsoBytes; 00743 ULONG IsoUrbCount; 00744 ULONG InterruptBytes; 00745 ULONG InterruptUrbCount; 00746 ULONG AllocedInterrupt[6]; 00747 ULONG AllocedIso; 00748 ULONG Total32secBandwidth; 00749 ULONG TotalTtBandwidth; 00750 ULONG TotalIsoLatency; 00751 ULONG DroppedIsoPackets; 00752 ULONG TransferErrors; 00753 } USB_DEVICE_PERFORMANCE_INFO_0, *PUSB_DEVICE_PERFORMANCE_INFO_0; 00754 00755 #include <poppack.h> 00756 00757 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */ Generated on Sat May 26 2012 04:28:38 for ReactOS by
1.7.6.1
|