//GenerateParser CL 244789 //# (c) 2009 Microsoft Corporation //# //# Title: Microsoft-Windows-usbxhci //# //# Details: //# //# Public References: usbxhci.man //# //# Comments: //# //# Revision Class and Date:Minor, 6/29/2011 //# //#### include "etl_usb3_Ucx_EndpointStateMachine.npl" include "etl_usb3_Ucx_ControllerResetStateMachine.npl" include "etl_usb3_HubStateMachines.npl" include "etl_mausb.npl" include "etl_PalInTransfer.npl" include "etl_PalOutTransfer.npl" include "etl_PalSession.npl" include "etl_UilEndpoint.npl" [RegisterBefore(NetEvent.UserData, UsbXhci, "{30e1d284-5d88-459c-83fd-6345b39b19ec}")] Protocol UsbXhci = property.ETLSummary { [BuildConversationWithParent, conversation.ConversationDescription = ""] [Post.Property.USBIsError = (( (NetEvent.Header.Descriptor.Level == 0x2) OR (Property.USBDStatus != "success" && Property.USBDStatus != "" && Property.USBDStatus != "canceled" && Property.USBDStatus != "pending") OR (Property.USBNtStatus != "success" && Property.USBNtStatus != "Success" && Property.USBNtStatus != "" && Property.USBNtStatus != "0xC0000120 - STATUS_CANCELLED") ) ? 1 : 0)] switch(property.EventID) { case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_START USBXHCI_ETW_EVENT_RUNDOWN_START; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_COMPLETE USBXHCI_ETW_EVENT_RUNDOWN_COMPLETE; case 3: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V1 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V2 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V3 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V3; case 4: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V4 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V4; case 5: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V5 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V5; case 6: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V6 USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V6; } case 4: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1 USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2 USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V3 USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V3; } case 5: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION USBXHCI_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION; case 6: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_CREATE USBXHCI_ETW_EVENT_CONTROLLER_CREATE; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_CREATE_V1 USBXHCI_ETW_EVENT_CONTROLLER_CREATE_V1; } case 7: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_DELETE USBXHCI_ETW_EVENT_CONTROLLER_DELETE; case 8: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_CREATE USBXHCI_ETW_EVENT_DEVICE_CREATE; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_CREATE_V1 USBXHCI_ETW_EVENT_DEVICE_CREATE_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_CREATE_V2 USBXHCI_ETW_EVENT_DEVICE_CREATE_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_CREATE_V3 USBXHCI_ETW_EVENT_DEVICE_CREATE_V3; } case 9: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_UPDATE USBXHCI_ETW_EVENT_DEVICE_UPDATE; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_UPDATE_V1 USBXHCI_ETW_EVENT_DEVICE_UPDATE_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_UPDATE_V2 USBXHCI_ETW_EVENT_DEVICE_UPDATE_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_UPDATE_V3 USBXHCI_ETW_EVENT_DEVICE_UPDATE_V3; } case 10: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_DELETE USBXHCI_ETW_EVENT_DEVICE_DELETE; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_DELETE_V1 USBXHCI_ETW_EVENT_DEVICE_DELETE_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_DELETE_V2 USBXHCI_ETW_EVENT_DEVICE_DELETE_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEVICE_DELETE_V3 USBXHCI_ETW_EVENT_DEVICE_DELETE_V3; } case 11: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_ENDPOINT_CREATE USBXHCI_ETW_EVENT_ENDPOINT_CREATE; case 12: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_ENDPOINT_UPDATE USBXHCI_ETW_EVENT_ENDPOINT_UPDATE; case 13: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_ENDPOINT_DELETE USBXHCI_ETW_EVENT_ENDPOINT_DELETE; case 14: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_STARTDEVICE_FAIL USBXHCI_ETW_EVENT_STARTDEVICE_FAIL; case 15: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_FIRMWARE_VERSION_UPDATE USBXHCI_ETW_EVENT_CONTROLLER_FIRMWARE_VERSION_UPDATE; case 16: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START_V1 USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START_V1; } case 17: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE; case 18: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_START USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_START; case 19: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_COMPLETE; case 20: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_START USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_START; case 21: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_COMPLETE; case 22: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START_V1 USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START_V1; } case 23: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE; case 24: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_START USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_START; case 25: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_COMPLETE; case 26: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_START USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_START; case 27: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_COMPLETE; case 28: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_START USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_START; case 29: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_COMPLETE USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_COMPLETE; case 30: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_ERROR USBXHCI_ETW_EVENT_CONTROLLER_ERROR; case 31: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMMAND_SEND USBXHCI_ETW_EVENT_COMMAND_SEND; case 32: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMMAND_WAITLISTED USBXHCI_ETW_EVENT_COMMAND_WAITLISTED; case 33: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMMAND_COMPLETE USBXHCI_ETW_EVENT_COMMAND_COMPLETE; case 34: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMMAND_COMPLETE_ERROR USBXHCI_ETW_EVENT_COMMAND_COMPLETE_ERROR; case 35: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY USBXHCI_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY; case 36: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_WDF_POWER_REFERENCE_FOR_DEBUGGER USBXHCI_ETW_EVENT_CONTROLLER_WDF_POWER_REFERENCE_FOR_DEBUGGER; case 37: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_SENDING_TRUSTLET_REQUEST USBXHCI_ETW_EVENT_SENDING_TRUSTLET_REQUEST; case 38: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_RECEIVED_TRUSTLET_REQUEST_IN_VTL1 USBXHCI_ETW_EVENT_RECEIVED_TRUSTLET_REQUEST_IN_VTL1; case 39: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST_IN_VTL1 USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST_IN_VTL1; case 40: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST; case 41: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_TRANSFER_INITIALIZED USBXHCI_ETW_EVENT_TRANSFER_INITIALIZED; case 42: Switch(property.EventVersion) { case 0: case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_INTERRUPT USBXHCI_ETW_EVENT_INTERRUPT; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_INTERRUPT_V2 USBXHCI_ETW_EVENT_INTERRUPT_V2; } case 43: Switch(property.EventVersion) { case 0: case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEFERRED_WORK_START USBXHCI_ETW_EVENT_DEFERRED_WORK_START; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEFERRED_WORK_START_V2 USBXHCI_ETW_EVENT_DEFERRED_WORK_START_V2; } case 44: Switch(property.EventVersion) { case 0: case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP_V2 USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP_V2; } case 45: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_DOORBELL USBXHCI_ETW_EVENT_DOORBELL; case 46: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_START_TRACKING_FOR_TIME_SYNC USBXHCI_ETW_EVENT_START_TRACKING_FOR_TIME_SYNC; case 47: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_STOP_TRACKING_FOR_TIME_SYNC USBXHCI_ETW_EVENT_STOP_TRACKING_FOR_TIME_SYNC; case 48: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONFIGURE_ENDPOINT USBXHCI_ETW_EVENT_CONFIGURE_ENDPOINT; case 49: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_HEALTH USBXHCI_ETW_EVENT_CONTROLLER_HEALTH; case 1: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V1 USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V1; case 2: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V2 USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V2; case 3: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V3 USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V3; } case 50: [property.ETLSummary = this.ToString] USBXHCI_ETW_EVENT_CONTROLLER_FATAL_ERROR USBXHCI_ETW_EVENT_CONTROLLER_FATAL_ERROR; default: [property.ETLSummary = "Not exist EventID"]struct{}; } } Table StartDeviceFailReasonTable(value) { switch(value) { case 1: "BIOS Handoff failed. Check with your computer manufacturer for an updated BIOS, or an updated firmware for the controller."; case 2: "Controller was not halted after a BIOS handoff. Check with your computer manufacturer for an updated BIOS."; case 3: "Controller reset timed out. Check with your computer manufacturer for an updated firmware for the controller."; default: FormatString("Unknown value: %d", value); } } // Applies to both Usbxhci and Ucx Table MapParentBusType(value) { switch(value) { case 1: "ParentBusTypePci"; case 2: "ParentBusTypeAcpi"; case 3: "ParentBusTypeMaUsb"; default: FormatString("Unknown value: %d", value); } } Table S0IdleStatus(value) { switch(value) { case 0: "S0IdleConfigured"; case 1: "S0IdleNotConfiguredDueToHackFlag"; case 2: "NotConfiguredDueToNoS0WakeCapability"; default: FormatString("Unknown value: %d", value); } } Table WdfDevicePowerState(value) { switch(value) { case 0: "WdfPowerDeviceInvalid"; case 1: "WdfPowerDeviceD0"; case 2: "WdfPowerDeviceD1"; case 3: "WdfPowerDeviceD2"; case 4: "WdfPowerDeviceD3"; case 5: "WdfPowerDeviceD3Final"; case 6: "WdfPowerDevicePrepareForHibernation"; default: FormatString("Unknown value: %d", value); } } Table DMAModeInVSM(value) { switch(value) { case 0: "NoVSM"; case 1: "SingleDMAAdapterInVSM"; case 2: "MultipleDMAAdaptersInVSM"; default: FormatString("Unknown value: %d", value); } } Table InterruptMechanism(value) { switch(value) { case 0: "LineBased"; case 1: "MultiMessageMSI"; case 2: "MSIX"; default: FormatString("Unknown value: %d", value); } } Table VTIOProgrammingMethod(value) { switch(value) { case 0: "None"; case 1: "VTIO_Intel_Dual_BDF_Legacy_V1"; case 2: "VTIO_Intel_Dual_BDF_Interim_V2"; case 3: "VTIO_XHCI_SPEC_1_2_Dual_BDF_V3"; case 4: "VTIO_Single_BDF"; default: FormatString("Unknown value: %d", value); } } Table UsbEndpointOffloadMode(value) { switch(value) { case 0: "NotSupported"; case 1: "SoftwareAssisted"; case 2: "HardwareAssisted"; default: FormatString("Unknown value: %d", value); } } Table CommandWaitlistReason(value) { switch(value) { case 1: "CommandRingFull"; case 2: "CommandsSerialized"; case 3: "CommandAbortInProgress"; case 4: "ControllerResetInProgress"; default: FormatString("Unknown value: %d", value); } } Table Usb20LpmStatus(value) { switch(value) { case 0: "Usb20LpmStatusUnknown"; case 1: "Usb20LpmEnabled"; case 2: "Usb20LpmDisabledSinceDeviceIsHub"; case 3: "Usb20LpmDisabledDueToDeviceHackFlag"; case 4: "Usb20LpmDisabledDueToHubHackFlag"; case 5: "Usb20LpmDisabledDueToHubGlobalFlag"; case 6: "Usb20LpmNotSupportedByDevice"; case 7: "Usb20LpmDisabledSinceBESLandAltHIRDNotSupported"; case 8: "Usb20LpmNotSupportedOnThisPort"; case 9: "Usb20LpmDiabledSinceDeviceOperatingInSuperspeedModeOrHigher"; default: FormatString("Unknown 20 Lpm Status: %d", value); } } Table TrbCompletionCode(value) { switch(value) { case 0: "Invalid"; case 1: "Success"; case 2: "Data Buffer Error"; case 3: "Babble Detected Error"; case 4: "Usb Transaction Error"; case 5: "Trb Error"; case 6: "Stall Error"; case 7: "Resource Error"; case 8: "Bandwidth Error"; case 9: "No Slots Available Error"; case 10: "Invalid Stream Type Error"; case 11: "Slot Not Enabled Error"; case 12: "Endpoint Not Enabled Error"; case 13: "Short Packet"; case 14: "Ring Underrun"; case 15: "Ring Overrun"; case 16: "Vf Event Ring Full Error"; case 17: "Parameter Error"; case 18: "Bandwidth Overrun Error"; case 19: "Context State Error"; case 20: "No Ping Response Error"; case 21: "Event Ring Full Error"; case 22: "Incompatible Device Error"; case 23: "Missed Service Error"; case 24: "Command Ring Stopped"; case 25: "Command Aborted"; case 26: "Stopped"; case 27: "Stopped Length Invalid"; case 28: "Stopped Short Packet"; case 29: "Max Exit Latency Too Large Error"; case 31: "Isoch Buffer Overrun"; case 32: "Event Lost Error"; case 33: "Undefined Error"; case 34: "Invalid Stream Id Error"; case 35: "Secondary Bandwidth Error"; case 36: "Split Transaction Error"; default: FormatString("Unknown value: %d", value); } } Table TrbCompletionStatus(value) { switch(value) { case 0: "Success"; case 1: "Unsuccessful"; case 2: "Timeout"; case 3: "Controller Gone"; case 4: "Not Complete"; default: FormatString("Unknown value: %d", value); } } Table TrustletRequestOpCode(value) { switch(value) { case 1: "ControllerCreate"; case 2: "ControllerDestroy"; case 3: "ControllerRequestDebugBreak"; case 4: "SecureDmaEnablerCreate"; case 5: "SecureDmaEnablerMapExposedSection"; case 6: "SecureDmaEnablerUnmap"; case 7: "RegisterCreate"; case 8: "RegisterMapMmio"; case 9: "RegisterUnmapMmio"; case 10: "RegisterReadMmio"; case 11: "RegisterWriteMmio"; case 12: "CommandCreate"; case 13: "CommandAllocateResources"; case 14: "CommandFreeResources"; case 15: "CommandInitialize"; case 16: "CommandAbortRing"; case 17: "CommandAdvanceDequeuePointer"; case 18: "CommandQueryIsRingRunning"; case 19: "CommandAddCommandTRBToRing"; case 20: "CommandRingDoorbell"; case 21: "DeviceSlotCreate"; case 22: "DeviceSlotAllocateResources"; case 23: "DeviceSlotFreeResources"; case 24: "DeviceSlotInitialize"; case 25: "DeviceSlotInitializeScratchpadBuffers"; case 26: "DeviceSlotSetDeviceContext"; case 27: "DeviceSlotClearDeviceContext"; case 28: "DeviceSlotQueryInfoFromSlotContext"; case 29: "DeviceSlotQueryInfoFromEndpointContext"; case 30: "UsbDeviceCreate"; case 31: "UsbDeviceDestroy"; case 32: "UsbDeviceRingDoorbell"; case 33: "EndpointCreate"; case 34: "EndpointDestroy"; case 35: "StreamContextArrayCreate"; case 36: "StreamContextArrayGet"; case 37: "StreamContextArraySet"; case 38: "StreamContextArrayDestroy"; case 39: "TransferRingCreate"; case 40: "TransferRingAllocateSegments"; case 41: "TransferRingFreeSegments"; case 42: "TransferRingInitializeSegment"; case 43: "TransferRingStageComplete"; case 44: "TransferRingAddTRBRange"; case 45: "UsbDeviceQueryAttributes"; default: FormatString("Unknown value: %d", value); } } Table DescriptorValidationError(value) { switch(value) { case 0: "DescriptorValidationError20HubBlengthTooLarge"; case 1: "DescriptorValidationError20HubBlengthTooSmall"; case 2: "DescriptorValidationError20HubBufferNull"; case 3: "DescriptorValidationError20HubBufferTooSmall"; case 4: "DescriptorValidationError20HubDeviceRemovableBitOneForNonExistentPorts"; case 5: "DescriptorValidationError20HubDeviceRemovableNonZeroReservedBit"; case 6: "DescriptorValidationError20HubInvalidType"; case 7: "DescriptorValidationError20HubNumberOfPortsZero"; case 8: "DescriptorValidationError20HubPortPwrCtrlMaskZero"; case 9: "DescriptorValidationError20HubWHubCharacteristicsNonZeroReservedBits"; case 10: "DescriptorValidationError30HubBHubHdrDecLatHasReservedValue"; case 11: "DescriptorValidationError30HubBlengthTooLarge"; case 12: "DescriptorValidationError30HubBlengthTooSmall"; case 13: "DescriptorValidationError30HubBufferTooSmall"; case 14: "DescriptorValidationError30HubDeviceRemovableBitOneForNonExistentPorts"; case 15: "DescriptorValidationError30HubDeviceRemovableNonZeroReservedBit"; case 16: "DescriptorValidationError30HubInvalidType"; case 17: "DescriptorValidationError30HubNumberOfPortsTooLarge"; case 18: "DescriptorValidationError30HubNumberOfPortsZero"; case 19: "DescriptorValidationError30HubWHubCharacteristicsNonZeroReservedBits"; case 20: "DescriptorValidationErrorBosBlengthTooLarge"; case 21: "DescriptorValidationErrorBosBlengthTooSmall"; case 22: "DescriptorValidationErrorBosBufferTooLarge"; case 23: "DescriptorValidationErrorBosBufferTooSmall"; case 24: "DescriptorValidationErrorBosInvalidType"; case 25: "DescriptorValidationErrorBosMismatchBetweenBNumDeviceCapsAndDevicCapsFound"; case 26: "DescriptorValidationErrorBosNoSuperSpeedCap"; case 27: "DescriptorValidationErrorBosNull"; case 28: "DescriptorValidationErrorBosUnknownDescriptorType"; case 29: "DescriptorValidationErrorBosWTotalLengthTooSmall"; case 30: "DescriptorValidationErrorBulkEndpointAtLowSpeed"; case 31: "DescriptorValidationErrorBulkEndpointBmAttributesNonZeroReservedBits"; case 32: "DescriptorValidationErrorBulkEndpointInvalidWMaxPacketSize"; case 33: "DescriptorValidationErrorCompanionBulkEndpointBmAttributesNonZeroReservedBits"; case 34: "DescriptorValidationErrorCompanionBulkEndpointBMaxBurstTooLarge"; case 35: "DescriptorValidationErrorCompanionBulkEndpointMaxStreamsTooLarge"; case 36: "DescriptorValidationErrorCompanionBulkEndpointNonZeroWBytesPerInterval"; case 37: "DescriptorValidationErrorCompanionControlEndpointNonZeroBmAttributes"; case 38: "DescriptorValidationErrorCompanionControlEndpointNonZeroBMaxBurst"; case 39: "DescriptorValidationErrorCompanionControlEndpointNonZeroWBytesPerInterval"; case 40: "DescriptorValidationErrorCompanionEndpointAtNonSuperSpeed"; case 41: "DescriptorValidationErrorCompanionEndpointAtUnexpectedLocation"; case 42: "DescriptorValidationErrorCompanionEndpointBlengthTooLarge"; case 43: "DescriptorValidationErrorCompanionEndpointBlengthTooSmall"; case 44: "DescriptorValidationErrorCompanionEndpointBufferTooSmall"; case 45: "DescriptorValidationErrorCompanionInterruptEndpointBMaxBurstTooLarge"; case 46: "DescriptorValidationErrorCompanionInterruptEndpointIncompatibleBMaxBurstAndWMaxPacketSize"; case 47: "DescriptorValidationErrorCompanionInterruptEndpointNonZeroBmAttributes"; case 48: "DescriptorValidationErrorCompanionInterruptEndpointWBytesPerIntervalTooLarge"; case 49: "DescriptorValidationErrorCompanionIoschEndpointBmAttributesNonZeroReservedBits"; case 50: "DescriptorValidationErrorCompanionIsochEndpointBMaxBurstTooLarge"; case 51: "DescriptorValidationErrorCompanionIsochEndpointIncompatibleBMaxBurstAndWMaxPacketSize"; case 52: "DescriptorValidationErrorCompanionIsochEndpointMultTooLarge"; case 53: "DescriptorValidationErrorCompanionIsochEndpointWBytesPerIntervalTooLarge"; case 54: "DescriptorValidationErrorConfigBlengthTooLarge"; case 55: "DescriptorValidationErrorConfigBlengthTooSmall"; case 56: "DescriptorValidationErrorConfigBufferTooSmall"; case 57: "DescriptorValidationErrorConfigBufferTooSmallToHaveInterface"; case 58: "DescriptorValidationErrorConfigInvalidType"; case 59: "DescriptorValidationErrorConfigMissingCompanionEndpoint"; case 60: "DescriptorValidationErrorConfigNull"; case 61: "DescriptorValidationErrorConfigWTotalLengthTooLarge"; case 62: "DescriptorValidationErrorConfigWTotalLengthTooSmallToHaveInterface"; case 63: "DescriptorValidationErrorContainerIdBlengthTooLarge"; case 64: "DescriptorValidationErrorContainerIdBlengthTooSmall"; case 65: "DescriptorValidationErrorContainerIdBufferTooSmall"; case 66: "DescriptorValidationErrorContainerIdNonZeroReservedBits"; case 67: "DescriptorValidationErrorControlEndpointBmAttributesNonZeroReservedBits"; case 68: "DescriptorValidationErrorControlEndpointInvalidWMaxPacketSize"; case 69: "DescriptorValidationErrorDeviceBcdDeviceHasIncorrectFormat"; case 70: "DescriptorValidationErrorDeviceBlengthTooSmall"; case 71: "DescriptorValidationErrorDeviceBufferTooSmall"; case 72: "DescriptorValidationErrorDeviceCapBlengthTooSmall"; case 73: "DescriptorValidationErrorDeviceCapBufferTooSmall"; case 74: "DescriptorValidationErrorDeviceCapMultipleContainerId"; case 75: "DescriptorValidationErrorDeviceCapMultipleSuperSpeedCap"; case 76: "DescriptorValidationErrorDeviceCapMultipleUSB20Cap"; case 77: "DescriptorValidationErrorDeviceIncorrectType"; case 78: "DescriptorValidationErrorDeviceInvalidBMaxPacketSize"; case 79: "DescriptorValidationErrorDeviceNullBuffer"; case 80: "DescriptorValidationErrorEndpointBlengthTooLarge"; case 81: "DescriptorValidationErrorEndpointBlengthTooSmall"; case 82: "DescriptorValidationErrorEndpointBmAttributesNonZeroReservedBits"; case 83: "DescriptorValidationErrorEndpointBufferTooSmall"; case 84: "DescriptorValidationErrorEndpointNonZeroReservedBits"; case 85: "DescriptorValidationErrorEndpointWithNoPreceedingInterface"; case 86: "DescriptorValidationErrorEndpointZeroAddress"; case 87: "DescriptorValidationErrorHeaderBlengthLargerThanRemainingBuffer"; case 88: "DescriptorValidationErrorHeaderBlengthLargerThanWTotalLength"; case 89: "DescriptorValidationErrorHeaderBlengthTooSmall"; case 90: "DescriptorValidationErrorHeaderBufferTooSmall"; case 91: "DescriptorValidationErrorHeaderZeroBlength"; case 92: "DescriptorValidationErrorIadBlengthTooLarge"; case 93: "DescriptorValidationErrorIadBlengthTooSmall"; case 94: "DescriptorValidationErrorIadBufferTooSmall"; case 95: "DescriptorValidationErrorIadInterfaceCountTooLargeForTheConfig"; case 96: "DescriptorValidationErrorIadInterfaceCountZero"; case 97: "DescriptorValidationErrorIadInterfaceNumberTooLarge"; case 98: "DescriptorValidationErrorInterfaceBlengthTooLarge"; case 99: "DescriptorValidationErrorInterfaceBlengthTooSmall"; case 100: "DescriptorValidationErrorInterfaceBufferTooSmall"; case 101: "DescriptorValidationErrorInterfaceDuplicateAlternateSetting"; case 102: "DescriptorValidationErrorInterfaceDuplicateEndpointAddress"; case 103: "DescriptorValidationErrorInterfaceDuplicateInterfaceNumber"; case 104: "DescriptorValidationErrorInterfaceFirstDescriptorWithNonZeroAlternateSetting"; case 105: "DescriptorValidationErrorInterfaceOutOfSequenceAlternateSetting"; case 106: "DescriptorValidationErrorInterfaceOutOfSequenceInterfaceNumber"; case 107: "DescriptorValidationErrorInterfaceParsedEndpointCountTooSmall"; case 108: "DescriptorValidationErrorInterruptEndpointBmAttributesNonZeroReservedBits"; case 109: "DescriptorValidationErrorInterruptEndpointInvalidBInterval"; case 110: "DescriptorValidationErrorInterruptEndpointInvalidWMaxPacketSize"; case 111: "DescriptorValidationErrorIsochEndpointAtLowSpeed"; case 112: "DescriptorValidationErrorIsochEndpointInvalidBInterval"; case 113: "DescriptorValidationErrorIsochEndpointInvalidWMaxPacketSize"; case 114: "DescriptorValidationErrorMSOSContainerIdAllZeroes"; case 115: "DescriptorValidationErrorMSOSContainerIdInvalidBcdVersion"; case 116: "DescriptorValidationErrorMSOSContainerIdInvalidBcdWIndex"; case 117: "DescriptorValidationErrorMSOSContainerIdInvalidBufferSize"; case 118: "DescriptorValidationErrorMSOSContainerIdInvalidDwLength"; case 119: "DescriptorValidationErrorMSOSExtendedConfigBFirstInterfaceNumberTooLarge"; case 120: "DescriptorValidationErrorMSOSExtendedConfigInvalidBcdVersion"; case 121: "DescriptorValidationErrorMSOSExtendedConfigInvalidBCount"; case 122: "DescriptorValidationErrorMSOSExtendedConfigInvalidBufferSize"; case 123: "DescriptorValidationErrorMSOSExtendedConfigInvalidCompatibleId"; case 124: "DescriptorValidationErrorMSOSExtendedConfigInvalidSubCompatibleId"; case 125: "DescriptorValidationErrorMSOSExtendedConfigInvalidWIndex"; case 126: "DescriptorValidationErrorMSOSExtendedConfigMismatchBetweenBufferSizeAndDwLength"; case 127: "DescriptorValidationErrorMSOSExtendedConfigMismatchBetweenDwLengthAndBCount"; case 128: "DescriptorValidationErrorStringBlengthNotEven"; case 129: "DescriptorValidationErrorStringBlengthTooLarge"; case 130: "DescriptorValidationErrorStringBlengthTooSmall"; case 131: "DescriptorValidationErrorStringBufferTooSmall"; case 132: "DescriptorValidationErrorStringInvalidCharacter"; case 133: "DescriptorValidationErrorStringInvalidType"; case 134: "DescriptorValidationErrorStringMismatchBetweenBlengthAndBufferLength"; case 135: "DescriptorValidationErrorSuperSpeedCapBlengthTooLarge"; case 136: "DescriptorValidationErrorSuperSpeedCapBlengthTooSmall"; case 137: "DescriptorValidationErrorSuperSpeedCapBmAttributesNonZeroReservedBits"; case 138: "DescriptorValidationErrorSuperSpeedCapBU1DevExitLatTooLarge"; case 139: "DescriptorValidationErrorSuperSpeedCapBU2DevExitLatTooLarge"; case 140: "DescriptorValidationErrorSuperSpeedCapBufferTooSmall"; case 141: "DescriptorValidationErrorSuperSpeedCapIncompatibleWSpeedsSupportedAndBFunctionalitySupported"; case 142: "DescriptorValidationErrorSuperSpeedCapReservedValueInBFunctionalitySupported"; case 143: "DescriptorValidationErrorSuperSpeedCapReservedValueInWSpeedsSupported"; case 144: "DescriptorValidationErrorSuperSpeedCapZeroWSpeedsSupported"; case 145: "DescriptorValidationErrorUSB20CapBlengthTooLarge"; case 146: "DescriptorValidationErrorUSB20CapBlengthTooSmall"; case 147: "DescriptorValidationErrorUSB20CapBmAttributesNonZeroReservedBits"; case 148: "DescriptorValidationErrorUSB20CapBufferTooSmall"; case 149: "DescriptorValidationErrorUSB20CapIncompatibleBaselineBESLValidAndBaselineBESL"; case 150: "DescriptorValidationErrorUSB20CapIncompatibleBESLAndAlternateHIRDSupportedAndLPMCapable"; case 151: "DescriptorValidationErrorUSB20CapIncompatibleDeepBESLAndBaselineBESL"; case 152: "DescriptorValidationErrorUSB20CapIncompatibleDeepBESLValidAndDeepBESL"; case 153: "DescriptorValidationErrorContainerIdAllZeros"; case 154: "DescriptorValidationErrorMsOs20MultipleDescriptorSetHeaders"; case 155: "DescriptorValidationErrorMsOs20DescriptorSetHeaderInvalidwLength"; case 156: "DescriptorValidationErrorMsOs20ConfigurationSubsetHeaderInvalidwLength"; case 157: "DescriptorValidationErrorMsOs20ConfigurationSubsetHeaderTooSmallwTotalLength"; case 158: "DescriptorValidationErrorMsOs20ConfigurationSubsetHeaderTooLargewTotalLength"; case 159: "DescriptorValidationErrorMsOs20ConfigurationSubsetHeaderInvalidFeatureDescriptor"; case 160: "DescriptorValidationErrorMsOs20ConfigurationSubsetHeaderInvalidFeatureDescriptorLength"; case 161: "DescriptorValidationErrorMsOs20FunctionSubsetHeaderInvalidwLength"; case 162: "DescriptorValidationErrorMsOs20FunctionSubsetHeaderTooSmallwTotalLength"; case 163: "DescriptorValidationErrorMsOs20FunctionSubsetHeaderTooLargewTotalLength"; case 164: "DescriptorValidationErrorMsOs20FunctionSubsetHeaderInvalidFeatureDescriptor"; case 165: "DescriptorValidationErrorMsOs20FunctionSubsetHeaderInvalidFeatureDescriptorLength"; case 166: "DescriptorValidationErrorMsOs20ComatibleIdDescriptorMultipleDescriptors"; case 167: "DescriptorValidationErrorMsOs20ComatibleIdDescriptorInvalidwLength"; case 168: "DescriptorValidationErrorMsOs20ComatibleIdDescriptorNonNullAfterNullTermination"; case 169: "DescriptorValidationErrorMsOs20RegistryValueDescriptorTooSmallwLength"; case 170: "DescriptorValidationErrorMsOs20RegistryValueDescriptorTooLargewPropertyNameLength"; case 171: "DescriptorValidationErrorMsOs20RegistryValueDescriptorOddOrZerowPropertyNameLength"; case 172: "DescriptorValidationErrorMsOs20RegistryValueDescriptorTooLargewPropertyDataLength"; case 173: "DescriptorValidationErrorMsOs20RegistryValueDescriptorZerowPropertyDataLength"; case 174: "DescriptorValidationErrorMsOs20RegistryValueDescriptorInvalidwPropertyDataType"; case 175: "DescriptorValidationErrorMsOs20MinumumResumeTimeDescriptorMultipleDescriptors"; case 176: "DescriptorValidationErrorMsOs20MinumumResumeTimeDescriptorInvalidwLength"; case 177: "DescriptorValidationErrorMsOs20MinumumResumeTimeDescriptorInvalidbResumeRecoveryTime"; case 178: "DescriptorValidationErrorMsOs20MinumumResumeTimeDescriptorInvalidbResumeSignalingTimeValue"; case 179: "DescriptorValidationErrorMsOs20RecoveryTimeDescriptorMultipleDescriptors"; case 180: "DescriptorValidationErrorMsOs20RecoveryTimeInvalidwLength"; case 181: "DescriptorValidationErrorMsOs20ModelIdDescriptorMultipleDescriptors"; case 182: "DescriptorValidationErrorMsOs20ModelIdDescriptorInvalidwLength"; case 183: "DescriptorValidationErrorMsOs20ModelIdDescriptorNullUuid"; case 184: "DescriptorValidationErrorMsOs20AlternateDeviceDescriptorMultipleInstances"; case 185: "DescriptorValidationErrorMsOs20AlternateDeviceDescriptorInvalidwLength"; case 186: "DescriptorValidationErrorMSOS20AlternateBosDescriptorMultipleInstances"; case 187: "DescriptorValidationErrorMSOS20AlternateBosDescriptorwLengthTooSmall"; case 188: "DescriptorValidationErrorMSOS20DescriptorSetBytesReturnNotEqualToDescriptorSetwLength"; case 189: "DescriptorValidationErrorMSOS20DescriptorSetBytesReturnTooSmall"; case 190: "DescriptorValidationErrorMSOS20DescriptorSetHeaderInvalidwLength"; case 191: "DescriptorValidationErrorMSOS20DescriptorSetwTotalLengthMismatch"; case 192: "DescriptorValidationErrorMSOS20DescriptordwWindowsVersionMismatch"; case 193: "DescriptorValidationErrorMSOS20DescriptorOutOfOrderTopLevelFeatureDescriptor"; case 194: "DescriptorValidationErrorMSOS20DescriptorRunsPastEndOfDescriptorSet"; case 195: "DescriptorValidationErrorPlatformbReservedNonZero"; case 196: "DescriptorValidationErrorPlatformIdAllZeros"; case 197: "DescriptorValidationErrorMsOS20PlatformDescriptorMultipleDescriptors"; case 198: "DescriptorValidationErrorMsOS20PlatformDescriptorInvalidbLength"; case 199: "DescriptorValidationErrorMsOS20PlatformDescriptorDuplicateWindowsVersion"; case 200: "DescriptorValidationErrorMsOS20PlatformDescriptorNoWindowsVersionMatchFound"; case 201: "DescriptorValidationErrorMsOs20CcgpDeviceMultipleDescriptors"; case 202: "DescriptorValidationErrorMsOs20CcgpDeviceDescriptorInvalidwLength"; case 203: "DescriptorValidationErrorDeviceCapMultipleSuperSpeedPlusCap"; case 204: "DescriptorValidationErrorCompanionIsochEndpointWBytesPerIntervalNotOne"; case 205: "DescriptorValidationErrorSSPCompanionEndpointAtNonSuperSpeed"; case 206: "DescriptorValidationErrorSSPCompanionEndpointAtUnexpectedLocation"; case 207: "DescriptorValidationErrorSSPCompanionEndpointBlengthTooLarge"; case 208: "DescriptorValidationErrorSSPCompanionEndpointBlengthTooSmall"; case 209: "DescriptorValidationErrorSSPCompanionEndpointBufferTooSmall"; case 210: "DescriptorValidationErrorSSPCompanionIoschEndpointNonZeroReservedBits"; case 211: "DescriptorValidationErrorSSPCompanionIsochEndpointDWBytesPerIntervalTooSmallLarge"; case 212: "DescriptorValidationErrorConfigMissingSSPCompanionEndpoint"; case 213: "DescriptorValidationErrorSuperSpeedPlusCapBlengthInvalid"; case 214: "DescriptorValidationErrorSuperSpeedPlusCapBlengthTooSmall"; case 215: "DescriptorValidationErrorSuperSpeedPlusCapBmAttributesNonZeroReservedBits"; case 216: "DescriptorValidationErrorSuperSpeedPlusCapWFunctionalitySupportNonZeroReservedBits"; case 217: "DescriptorValidationErrorSuperSpeedPlusCapBufferTooSmall"; case 218: "DescriptorValidationErrorSuperSpeedPlusCapNonZeroBReserved"; case 219: "DescriptorValidationErrorSuperSpeedPlusCapNonZeroWReserved"; case 220: "DescriptorValidationErrorSuperSpeedPlusCapAttrRx"; case 221: "DescriptorValidationErrorSuperSpeedPlusCapAttrTx"; case 222: "DescriptorValidationErrorSuperSpeedPlusCapAttrTxIncomplete"; case 223: "DescriptorValidationErrorSuperSpeedPlusCapAttrPairInvalid"; case 224: "DescriptorValidationErrorSuperSpeedPlusCapAttrSymmetricPairInvalid"; case 225: "DescriptorValidationErrorSuperSpeedPlusCapAttrMinimumSymmetricPairInvalid"; case 226: "DescriptorValidationErrorSuperSpeedPlusCapAttrSpeedIDDuplication"; case 227: "DescriptorValidationErrorSuperSpeedPlusCapAttrSpeedIDCount"; case 228: "DescriptorValidationErrorSuperSpeedPlusCapAttrMinimumNotFound"; case 229: "DescriptorValidationErrorPDBlengthTooLarge"; case 230: "DescriptorValidationErrorPDBlengthTooSmall"; case 231: "DescriptorValidationErrorPDBufferTooSmall"; case 232: "DescriptorValidationErrorPDNonZeroReservedBits"; case 233: "DescriptorValidationErrorAltSetting0IsochEndpointNonZeroMaxPacketSize"; case 234: "DescriptorValidationErrorDuplicateSerialNumber"; case 235: "DescriptorValidationErrorBillboardCapBlengthTooSmall"; case 236: "DescriptorValidationErrorBillboardCapBlengthInvalid"; case 237: "DescriptorValidationErrorBillboardCapBufferTooSmall"; case 238: "DescriptorValidationErrorBillboardCapZeroAlternateModes"; case 239: "DescriptorValidationErrorBillboardCapTooManyAlternateModes"; case 240: "DescriptorValidationErrorBillboardCapPreferredAlternateModeZero"; case 241: "DescriptorValidationErrorBillboardCapPreferredAlternateModeInvalid"; case 242: "DescriptorValidationErrorBillboardCapNonZeroBReserved"; case 243: "DescriptorValidationErrorBillboardCapReservedVconnPowerValueUsed"; case 244: "DescriptorValidationErrorBillboardCapNonZeroVConnPowerReserved"; case 245: "DescriptorValidationErrorDeviceCapMultipleBillboardCap"; case 246: "DescriptorValidationErrorBillboardDeviceIncorrectBcdUsb"; case 247: "DescriptorValidationErrorUsbFeaturesPlatformDescriptorInvalidbLength"; case 248: "DescriptorValidationErrorUsbFeaturesPlatformDescriptorMultipleDescriptors"; case 249: "DescriptorValidationErrorUsbFeaturesPlatformDescriptorInvalidVersionNumber"; case 250: "DescriptorValidationErrorUsbFeaturesPlatformDescriptorbLengthTooSmall"; case 251: "DescriptorValidationErrorPlatformBlengthTooSmall"; case 252: "DescriptorValidationErrorPlatformBlengthTooLarge"; case 253: "DescriptorValidationErrorPlatformBufferTooSmall"; case 254: "DescriptorValidationErrorConfigurationSummaryDescriptorBlengthTooSmall"; case 255: "DescriptorValidationErrorConfigurationSummaryDescriptorBlengthInvalid"; case 256: "DescriptorValidationErrorConfigurationSummaryDescriptorBufferTooSmall"; case 257: "DescriptorValidationErrorConfigurationSummaryDescriptorConfigurationValueInvalid"; case 258: "DescriptorValidationErrorMsOs20VendorRevisionMultipleDescriptors"; case 259: "DescriptorValidationErrorMsOs20VendorRevisionDescriptorInvalidwLength"; case 260: "DescriptorValidationErrorMsOs20VendorRevisionDescriptorInvalidValueZero"; case 261: "DescriptorValidationErrorFirmwareStatusCapBufferTooSmall"; case 262: "DescriptorValidationErrorFirmwareStatusCapBlengthTooSmall"; case 263: "DescriptorValidationErrorFirmwareStatusCapBlengthInvalid"; case 264: "DescriptorValidationErrorFirmwareStatusCapBlengthTooLarge"; case 265: "DescriptorValidationErrorFirmwareStatusCapBmAttributesNonZeroReservedBits"; } } Table MaUsbDescriptorValidationError(value) { switch(value) { case 0: "MaUsbDescriptorValidationErrorCapabilityDescriptorInvalidSize"; case 1: "MaUsbDescriptorValidationErrorRequiredCapabilityDescriptorMissing"; case 2: "MaUsbDescriptorValidationErrorCapabilityDescriptorHeaderZeroSizeLengthField"; case 3: "MaUsbDescriptorValidationErrorCapabilityDescriptorOverrunsEndOfCapabilityResponsePacket"; case 4: "MaUsbDescriptorValidationErrorDuplicateCapabilityDescriptor"; case 5: "MaUsbDescriptorValidationErrorCapabilityResponsePacketNumberOfEndpointsLessThan16"; case 6: "MaUsbDescriptorValidationErrorCapabilityResponsePacketNumberOfDevicesNot1"; case 7: "MaUsbDescriptorValidationErrorCapabilityResponsePacketUnknownDeviceType"; case 8: "MaUsbDescriptorValidationErrorCapabilityResponsePacketMismatchBetweenLengthFieldAndCapabilityDescriptorLengthField"; case 9: "MaUsbDescriptorValidationErrorCapabilityResponsePacketMismatchBetweenLengthFieldAndActualCapabilityDescriptorSetLength"; } } Table RequestorModeEnumValue(value) { switch(value) { case 0: "KernelMode"; case 1: "UserMode"; } } Table ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId) { switch(fid_ParentBusType) { case 1: FormatString("XHCI %x:%x:%x", fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId); case 2: FormatString("XHCI(ACPI) %s:%s:%s", fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId); case 3: FormatString("MAUSB"); default: FormatString("Unknown Bus"); } } Table PowerActionString(fid_PowerAction) { switch(fid_PowerAction) { case 0: FormatString("PowerActionNone"); case 1: FormatString("PowerActionReserved"); case 2: FormatString("PowerActionSleep"); case 3: FormatString("PowerActionHibernate"); case 4: FormatString("PowerActionShutdown"); case 5: FormatString("PowerActionShutdownReset"); case 6: FormatString("PowerActionShutdownOff"); case 7: FormatString("PowerActionWarmEject"); default: FormatString("Invalid"); } } Table SystemPowerActionString(fid_PreProcessedSystemAction) { switch(fid_PreProcessedSystemAction) { case 0: FormatString("SystemPowerAction_Boot"); case 1: FormatString("SystemPowerAction_ResumeFromSleep"); case 2: FormatString("SystemPowerAction_ResumeFromHibernate"); case 3: FormatString("SystemPowerAction_Sleep"); case 4: FormatString("SystemPowerAction_HybridSleep"); case 5: FormatString("SystemPowerAction_Hibernate"); case 6: FormatString("SystemPowerAction_Shutdown"); case 7: FormatString("SystemPowerAction_None"); default: FormatString("Invalid"); } } Table FailureReason(fid_ReasonCode) { switch(fid_ReasonCode) { case 4097: "USB3_WER_BUGCODE_USBXHCI_HOST_SYSTEM_ERROR"; case 4098: "USB3_WER_BUGCODE_USBXHCI_HOST_CONTROLLER_ERROR"; case 4099: "USB3_WER_BUGCODE_USBXHCI_ENDPOINT_ERROR_AFTER_STOP"; case 4100: "USB3_WER_BUGCODE_USBXHCI_CONTEXT_ERROR_AFTER_STOP"; case 4101: "USB3_WER_BUGCODE_USBXHCI_CONTEXT_ERROR_AFTER_STALL_SET_DEQUEUE"; case 4102: "USB3_WER_BUGCODE_USBXHCI_CONTEXT_ERROR_AFTER_STALL_RESET_EP"; case 4103: "USB3_WER_BUGCODE_USBXHCI_RESET_RECOVERY_RESET_FAILED"; case 4104: "USB3_WER_BUGCODE_USBXHCI_RESET_RECOVERY_RESTART_FAILED"; case 4105: "USB3_WER_BUGCODE_USBXHCI_COMMAND_ABORT_FAILED"; case 4106: "USB3_WER_BUGCODE_USBXHCI_CONTEXT_ERROR_AFTER_SET_DEQUEUE"; case 4107: "USB3_WER_BUGCODE_USBXHCI_RESET_RECOVERY_STOP_FAILED"; case 4108: "USB3_WER_BUGCODE_USBXHCI_FIRMWARE_NOT_SUPPORTED"; case 4109: "USB3_WER_BUGCODE_USBXHCI_CONTROLLER_GONE"; case 4110: "USB3_WER_BUGCODE_USBXHCI_STREAM_ENDPOINT_ERROR"; case 4111: "USB3_WER_BUGCODE_USBXHCI_FIRMWARE_OUTDATED"; case 4112: "USB3_WER_BUGCODE_USBXHCI_UNHANDLED_TRANSFER_EVENT_TRB_COMPLETION_CODE"; case 4113: "USB3_WER_BUGCODE_USBXHCI_EVENT_RING_FULL_ERROR"; case 4114: "USB3_WER_BUGCODE_USBXHCI_OUT_OF_ORDER_COMMAND_COMPLETION"; case 4115: "USB3_WER_BUGCODE_USBXHCI_DEQUEUEPOINTER_MISMATCH_AFTER_COMMAND_ABORT"; case 4116: "USB3_WER_BUGCODE_USBXHCI_BAD_SLOTID"; case 4117: "USB3_WER_BUGCODE_USBXHCI_SET_ADDRESS_FAILED_BSR1"; case 4118: "USB3_WER_BUGCODE_USBXHCI_ENABLE_SLOT_FAILED"; case 4119: "USB3_WER_BUGCODE_USBXHCI_ENDPOINTS_DECONFIGURE_FAILED"; case 4120: "USB3_WER_BUGCODE_USBXHCI_DISABLE_SLOT_FAILED"; case 4121: "USB3_WER_BUGCODE_USBXHCI_USBDEVICE_RESET_FAILED"; case 4122: "USB3_WER_BUGCODE_USBXHCI_CONTEXT_ERROR_AFTER_RESET_SET_DEQUEUE"; case 4123: "USB3_WER_BUGCODE_USBXHCI_ENDPOINT_ERROR_AFTER_RESET"; case 4124: "USB3_WER_BUGCODE_USBXHCI_D0ENTRY_FAILED"; case 4125: "USB3_WER_BUGCODE_USBXHCI_ENDPOINTS_RECONFIGURE_FAILED_ON_CANCEL"; case 4126: "USB3_WER_BUGCODE_USBXHCI_INVALID_TRANSFER_EVENT_PTR_ED_1"; case 4127: "USB3_WER_BUGCODE_USBXHCI_INVALID_TRANSFER_EVENT_PTR_ED_0"; case 4128: "USB3_WER_BUGCODE_USBXHCI_INVALID_TRANSFER_EVENT_PTR_ED_0_DUPLICATE"; case 4129: "USB3_WER_BUGCODE_USBXHCI_ENDPOINTS_RECONFIGURE_FAILED_ON_RESET"; case 4130: "USB3_WER_BUGCODE_USBXHCI_ENDPOINTS_RECONFIGURE_FAILED"; case 4131: "USB3_WER_BUGCODE_USBXHCI_ENDPOINT_NOT_STOPPED_AFTER_STOP_ENDPOINT_SUCCESS"; case 4132: "USB3_WER_BUGCODE_USBXHCI_ISOCH_ENDPOINT_HALTED"; case 4133: "USB3_WER_BUGCODE_USBXHCI_RH_PORT_STUCK_IN_RESUME"; case 4134: "USB3_WER_BUGCODE_USBXHCI_RAISE_IRQL_AT_DISPATCH"; case 4135: "USB3_WER_BUGCODE_USBXHCI_RAISE_IRQL_ON_OUT_OF_BOUNDS_PROCESSOR"; case 4136: "USB3_WER_BUGCODE_USBXHCI_LOWER_IRQL_AT_PASSIVE"; case 4137: "USB3_WER_BUGCODE_USBXHCI_PREPARE_HARDWARE_FAILED"; case 4144: "USB3_WER_BUGCODE_USBXHCI_CLEAR_PORT_STATUS_CHANGE_FAILURE"; case 4145: "USB3_WER_BUGCODE_USBXHCI_D0ENTRY_POST_INTERRUPTS_FAILED"; case 4146: "USB3_WER_BUGCODE_USBXHCI_D0EXIT_FAILED"; case 4147: "USB3_WER_BUGCODE_USBXHCI_DISPATCH_PREPROCESSED_IRP_POWER_FAILED"; case 4148: "USB3_WER_BUGCODE_USBXHCI_DEVICE_FILTER_REMOVE_RESOURCE_REQUIREMENTS_FAILED"; case 4149: "USB3_WER_BUGCODE_USBXHCI_FIRMWARE_HASH_NOT_VALID"; case 4150: "USB3_WER_BUGCODE_USBXHCI_D0ENTRY_INTERNAL_CONTROLLER_FAILED"; default: FormatString("%x", fid_ReasonCode); } } Table RecoveryAction(fid_RecoveryAction) { switch(fid_RecoveryAction) { case 0: "NoAction"; case 1: "InternalReset"; case 2: "Reset"; case 4: "NoRestart"; case 8: "ControllerGoneNotifyUCX"; case 16: "ControllerGoneNotifyUCXAndPNP"; case 32: "ReportFailedNoRestart"; case 64: "ReportFailedAttemptRestart"; default: FormatString("Unknown RecoveryAction %x", fid_RecoveryAction); } } Struct USBXHCI_ETW_EVENT_RUNDOWN_START = "Start Rundown" {}; // Empty Struct Struct USBXHCI_ETW_EVENT_RUNDOWN_COMPLETE = "Complete Rundown" {}; // Empty Struct Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION = FormatString("USBXHCI Controller Information") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V1 = FormatString("USBXHCI Controller Information v1") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V2 = FormatString("USBXHCI Controller Information v2") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V3 = FormatString("USBXHCI Controller Information v3") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; DeviceCapabilities fid_DeviceCapabilities; } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V4 = FormatString("USBXHCI Controller Information v4") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; ControllerCounters_v1 fid_ControllerCounters; DeviceCapabilities fid_DeviceCapabilities; } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V5 = FormatString("USBXHCI Controller Information v5") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; ControllerCounters_v2 fid_ControllerCounters; DeviceCapabilities fid_DeviceCapabilities; } Struct USBXHCI_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION_V6 = FormatString("USBXHCI Controller Information v6") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_VTIOProgrammingMethod = VTIOProgrammingMethod(this); UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; ControllerCounters_v2 fid_ControllerCounters; DeviceCapabilities fid_DeviceCapabilities; } Struct USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION = FormatString("USBXHCI Device Information") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1 = FormatString("USBXHCI Device Information v1") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; } Struct USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2 = FormatString("USBXHCI Device Information v2") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; } Struct USBXHCI_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V3 = FormatString("USBXHCI Device Information v3") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; struct fid_Hash_Information { BOOL IsFirmwareHashValid; BOOL IsFirmwareHashQueried; BOOL IsFirmwareHashFromDevicePresent; BOOL IsFirmwareHashFromSDEVEntryPresent; UINT8 FirmwareHashFromDevice[32]; UINT8 FirmwareHashFromSDEVEntry[32]; } } Struct USBXHCI_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION = FormatString("USBXHCI Endpoint Information") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; InitialUsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; [Global.InternalUsbTblEndpoint$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpoint$[Property.USBPipeHandle] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointAddressFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] UINT8 fid_bEndpointAddress; [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBEndpointPtr] = EndpointType(this)] [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle] = EndpointType(this)] UINT8 fid_bmAttributes; [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT16 fid_wMaxPacketSize; [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT8 fid_bInterval; } struct fid_USB_SuperSpeed_Endpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bMaxBurst; UINT8 fid_bmAttributes; UINT16 fid_wBytesPerInterval; } struct fid_USB_SuperSpeedPlus_IsochEndpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_Reserved; UINT32 fid_wBytesPerInterval; } } Struct USBXHCI_ETW_EVENT_CONTROLLER_CREATE = FormatString("USBXHCI Controller Create") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState; [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; } Struct USBXHCI_ETW_EVENT_CONTROLLER_CREATE_V1 = FormatString("USBXHCI Controller Create v1") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState; [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; DeviceCapabilities fid_DeviceCapabilities; } Struct USBXHCI_ETW_EVENT_CONTROLLER_DELETE = FormatString("USBXHCI Controller Delete") { UcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState; UINT32 fid_InstanceNumber; } Struct USBXHCI_ETW_EVENT_DEVICE_CREATE = FormatString("USBXHCI Device Create") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct USBXHCI_ETW_EVENT_DEVICE_CREATE_V1 = FormatString("USBXHCI Device Create v1") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; } Struct USBXHCI_ETW_EVENT_DEVICE_CREATE_V2 = FormatString("USBXHCI Device Create v2") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_DEVICE_CREATE_V3 = FormatString("USBXHCI Device Create v3") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; InitialUsbDevicePtr fid_UsbDevice; [Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = UsbDeviceSpeed(this)] UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; struct fid_Hash_Information { BOOL IGNORE_DURING_CREATE_IsFirmwareHashValid; BOOL IGNORE_DURING_CREATE_IsFirmwareHashQueried; BOOL IGNORE_DURING_CREATE_IsFirmwareHashFromDevicePresent; BOOL IGNORE_DURING_CREATE_IsFirmwareHashFromSDEVEntryPresent; UINT8 IGNORE_DURING_CREATE_FirmwareHashFromDevice[32]; UINT8 IGNORE_DURING_CREATE_FirmwareHashFromSDEVEntry[32]; } } Struct USBXHCI_ETW_EVENT_DEVICE_UPDATE = FormatString("USBXHCI Device Update") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct USBXHCI_ETW_EVENT_DEVICE_UPDATE_V1 = FormatString("USBXHCI Device Update v1") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; } Struct USBXHCI_ETW_EVENT_DEVICE_UPDATE_V2 = FormatString("USBXHCI Device Update v2") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_DEVICE_UPDATE_V3 = FormatString("USBXHCI Device Update v3") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; struct fid_Hash_Information { BOOL IsFirmwareHashValid; BOOL IsFirmwareHashQueried; BOOL IsFirmwareHashFromDevicePresent; BOOL IsFirmwareHashFromSDEVEntryPresent; UINT8 FirmwareHashFromDevice[32]; UINT8 FirmwareHashFromSDEVEntry[32]; } } Struct USBXHCI_ETW_EVENT_DEVICE_DELETE = FormatString("USBXHCI Device Delete") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct USBXHCI_ETW_EVENT_DEVICE_DELETE_V1 = FormatString("USBXHCI Device Delete v1") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; } Struct USBXHCI_ETW_EVENT_DEVICE_DELETE_V2 = FormatString("USBXHCI Device Delete v2") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_DEVICE_DELETE_V3 = FormatString("USBXHCI Device Delete v3") { UcxControllerPtr fid_UcxController; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; [Post.Property.USBPortPath = this.ToString] UsbPortPath PortPath; UINT32 fid_SlotId; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } BOOL IsSecureUSBDevice; BOOL IsProxyUSBDevice; BOOL IsDeviceContextLocal; UINT8 ConfigurationValue; UINT8 InterfaceNumber; UINT8 AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; struct fid_Hash_Information { BOOL IGNORE_DURING_DELETE_IsFirmwareHashValid; BOOL IGNORE_DURING_DELETE_IsFirmwareHashQueried; BOOL IGNORE_DURING_DELETE_IsFirmwareHashFromDevicePresent; BOOL IGNORE_DURING_DELETE_IsFirmwareHashFromSDEVEntryPresent; UINT8 IGNORE_DURING_DELETE_FirmwareHashFromDevice[32]; UINT8 IGNORE_DURING_DELETE_irmwareHashFromSDEVEntry[32]; } } Struct USBXHCI_ETW_EVENT_ENDPOINT_CREATE = FormatString("USBXHCI Endpoint Create") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; InitialUsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; [Global.InternalUsbTblEndpoint$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpoint$[Property.USBPipeHandle] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointAddressFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] UINT8 fid_bEndpointAddress; [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBEndpointPtr] = EndpointType(this)] [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle] = EndpointType(this)] UINT8 fid_bmAttributes; [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT16 fid_wMaxPacketSize; [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT8 fid_bInterval; } struct fid_USB_SuperSpeed_Endpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bMaxBurst; UINT8 fid_bmAttributes; UINT16 fid_wBytesPerInterval; } struct fid_USB_SuperSpeedPlus_IsochEndpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_Reserved; UINT32 fid_wBytesPerInterval; } } Struct USBXHCI_ETW_EVENT_ENDPOINT_UPDATE = FormatString("USBXHCI Endpoint Update") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; [Global.InternalUsbTblEndpoint$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpoint$[Property.USBPipeHandle] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointAddressFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] UINT8 fid_bEndpointAddress; [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBEndpointPtr] = EndpointType(this)] [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle] = EndpointType(this)] UINT8 fid_bmAttributes; [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT16 fid_wMaxPacketSize; [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT8 fid_bInterval; } struct fid_USB_SuperSpeed_Endpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bMaxBurst; UINT8 fid_bmAttributes; UINT16 fid_wBytesPerInterval; } } Struct USBXHCI_ETW_EVENT_ENDPOINT_DELETE = FormatString("USBXHCI Endpoint Delete") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } struct fid_USB_SuperSpeed_Endpoint_Companion_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bMaxBurst; UINT8 fid_bmAttributes; UINT16 fid_wBytesPerInterval; } } Struct USBXHCI_ETW_EVENT_STARTDEVICE_FAIL = FormatString("Windows failed to start the %s for the following reason: %s", DeviceDescription.ToString, StartDeviceFailReason.ToString) { UcxControllerPtr fid_UcxController; UINT32 DeviceDescLength; UnicodeString(DeviceDescLength) DeviceDescription; UINT32 StartDeviceFailReason = StartDeviceFailReasonTable(this); // table must have different name from element } Struct USBXHCI_ETW_EVENT_CONTROLLER_FIRMWARE_VERSION_UPDATE = FormatString("USBXHCI Controller Firmware Version Update") { UcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState; UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START = FormatString("USBXHCI Controller EvtDeviceD0Entry Start") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_START_V1 = FormatString("USBXHCI Controller EvtDeviceD0Entry Start v1") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; UINT32 fid_PreProcessedSystemAction = SystemPowerActionString(this); } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE = FormatString("USBXHCI Controller EvtDeviceD0Entry Complete") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_START = FormatString("USBXHCI Controller EvtDeviceD0EntryPostInterruptsEnabled Start") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_ENTRY_POST_INTERRUPTS_COMPLETE = FormatString("USBXHCI Controller EvtDeviceD0EntryPostInterruptsEnabled Complete") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_START = FormatString("USBXHCI Controller EvtDeviceD0ExitPreInterruptsDisabled Start") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_PRE_INTERRUPTS_COMPLETE = FormatString("USBXHCI Controller EvtDeviceD0ExitPreInterruptsDisabled Complete") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START = FormatString("USBXHCI Controller EvtDeviceD0Exit Start") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_START_V1 = FormatString("USBXHCI Controller EvtDeviceD0Exit Start v1") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; UINT32 fid_PreProcessedSystemAction = SystemPowerActionString(this); } Struct USBXHCI_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE = FormatString("USBXHCI Controller EvtDeviceD0Exit Complete") { UcxControllerPtr fid_UcxController; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_START = FormatString("USBXHCI Controller Save State Start") { UcxControllerPtr fid_UcxController; } Struct USBXHCI_ETW_EVENT_CONTROLLER_SAVE_STATE_COMPLETE = FormatString("USBXHCI Controller Save State Complete") { UcxControllerPtr fid_UcxController; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_START = FormatString("USBXHCI Controller Restore State Start") { UcxControllerPtr fid_UcxController; } Struct USBXHCI_ETW_EVENT_CONTROLLER_RESTORE_STATE_COMPLETE = FormatString("USBXHCI Controller Restore State Complete") { UcxControllerPtr fid_UcxController; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_START = FormatString("USBXHCI Controller Internal Reset Start") { UcxControllerPtr fid_UcxController; } Struct USBXHCI_ETW_EVENT_CONTROLLER_INTERNAL_RESET_COMPLETE = FormatString("USBXHCI Controller Internal Reset Complete") { UcxControllerPtr fid_UcxController; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_ERROR = FormatString("USBXHCI Controller Error detected. To recover from this Error, Windows may need to reset the Controller and re-enumerate USB devices downstream of the Controller. Please refer Event Properties for more contextual information about this Error. Hardware Verifier Flag: %s. Detailed description: %s", fid_HWVerifierFlag.ToString, fid_Description.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_UcxDevice; EtlPtr fid_UcxEndpoint; UINT64 fid_HWVerifierFlag; AsciiString fid_Description; TRB fid_CommandTRB; TRB fid_EventTRB; } Struct USBXHCI_ETW_EVENT_COMMAND_SEND = FormatString("xHCI Command sent to Controller: %s", fid_Command_TRB.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_CrbPointer; TRB fid_Command_TRB; } Struct USBXHCI_ETW_EVENT_COMMAND_WAITLISTED = FormatString("xHCI Command waitlisted due to Command Ring full or Command Serialization: %s", fid_Command_TRB.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_CrbPointer; TRB fid_Command_TRB; UINT8 fid_CommandWaitlistReason = CommandWaitlistReason(this); } Struct USBXHCI_ETW_EVENT_COMMAND_COMPLETE = FormatString("xHCI Command Complete: %s, %s", fid_CompletionStatus >= 2 ? fid_CompletionStatus.ToString : fid_CompletionCode.ToString, fid_Command_TRB.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_CrbPointer; TRB fid_Command_TRB; UINT32 fid_CompletionStatus = TrbCompletionStatus(this); UINT8 fid_CompletionCode = TrbCompletionCode(this); } Struct USBXHCI_ETW_EVENT_COMMAND_COMPLETE_ERROR = FormatString("xHCI Command Complete with Error: %s, %s", fid_CompletionStatus >= 2 ? fid_CompletionStatus.ToString : fid_CompletionCode.ToString, fid_Command_TRB.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_CrbPointer; TRB fid_Command_TRB; UINT32 fid_CompletionStatus = TrbCompletionStatus(this); UINT8 fid_CompletionCode = TrbCompletionCode(this); } Struct USBXHCI_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY = FormatString("Query USB capability for controller") { UcxControllerPtr fid_UcxController; GUID(true) fid_Capability; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_NumStaticStreams; } Struct USBXHCI_ETW_EVENT_CONTROLLER_WDF_POWER_REFERENCE_FOR_DEBUGGER = FormatString("Wdf Power Reference acquired or released because controller is shared with debugger") { UcxControllerPtr fid_UcxController; BOOL fid_WdfPowerReferenceForDebuggerAcquired; } Struct USBXHCI_ETW_EVENT_SENDING_TRUSTLET_REQUEST = FormatString("USBXHCI_ETW_EVENT_SENDING_TRUSTLET_REQUEST - fid_TrustletRequestOpCode : %s, fid_InputBufferLength : %s, fid_OutputBufferLength : %s, fid_OutstandingRequestsAtSendTime : %s", fid_TrustletRequestOpCode.ToString, fid_InputBufferLength.ToString, fid_OutputBufferLength.ToString, fid_OutstandingRequestsAtSendTime.ToString) { UINT32 fid_TrustletRequestOpCode = TrustletRequestOpCode(this); UINT32 fid_InputBufferLength; UINT32 fid_OutputBufferLength; UINT32 fid_OutstandingRequestsAtSendTime; } Struct USBXHCI_ETW_EVENT_RECEIVED_TRUSTLET_REQUEST_IN_VTL1 = FormatString("USBXHCI_ETW_EVENT_RECEIVED_TRUSTLET_REQUEST_IN_VTL1 - fid_TrustletRequestOpCode : %s, fid_OutstandingRequestsAtSendTime : %s", fid_TrustletRequestOpCode.ToString, fid_OutstandingRequestsAtSendTime.ToString) { UINT32 fid_TrustletRequestOpCode = TrustletRequestOpCode(this); UINT32 fid_OutstandingRequestsAtSendTime; } Struct USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST_IN_VTL1 = FormatString("USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST_IN_VTL1 - fid_TrustletRequestOpCode : %s, fid_OutstandingRequestsAtSendTime : %s", fid_TrustletRequestOpCode.ToString, fid_OutstandingRequestsAtSendTime.ToString) { UINT32 fid_TrustletRequestOpCode = TrustletRequestOpCode(this); UINT32 fid_OutstandingRequestsAtSendTime; } Struct USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST = FormatString("USBXHCI_ETW_EVENT_COMPLETED_TRUSTLET_REQUEST - fid_TrustletRequestOpCode : %s, fid_OutstandingRequestsAtSendTime : %s, fid_TimeInNs : %s", fid_TrustletRequestOpCode.ToString, fid_OutstandingRequestsAtSendTime.ToString, fid_TimeInNs.ToString) { UINT32 fid_TrustletRequestOpCode = TrustletRequestOpCode(this); UINT32 fid_OutstandingRequestsAtSendTime; UINT64 fid_TimeInNs; } Struct USBXHCI_ETW_EVENT_TRANSFER_INITIALIZED = FormatString("USBXHCI_ETW_EVENT_TRANSFER_INITIALIZED - fid_SlotId : %s, fid_EndpointContextIndex : %s, fid_StreamId : %s, fid_BytesTotal : %s", fid_SlotId.ToString, fid_EndpointContextIndex.ToString, fid_StreamId.ToString, fid_BytesTotal.ToString) { UINT8 fid_SlotId; UINT32 fid_EndpointContextIndex; UINT32 fid_StreamId; UINT32 fid_BytesTotal; } Struct USBXHCI_ETW_EVENT_INTERRUPT = FormatString("USBXHCI_ETW_EVENT_INTERRUPT - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { UINT32 fid_InterrupterNumber; } Struct USBXHCI_ETW_EVENT_INTERRUPT_V2 = FormatString("USBXHCI_ETW_EVENT_INTERRUPT_V2 - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { [Property.InternalUsbUniqueEventInterruptIndex = FormatString("%s_%d", Property.UcxControllerPtr, FrameNumber)] [Property.InternalUsbTemp$[Property.InternalUsbUniqueEventInterruptIndex] = Global.InternalUsbTblInterruptLastTimeStamp$[Property.UcxControllerPtr]] [Global.InternalUsbTblInterruptDelta$[Property.InternalUsbUniqueEventInterruptIndex] = TimeOffset - Property.InternalUsbTemp$[Property.InternalUsbUniqueEventInterruptIndex]] [Property.USBInterruptDelta = Global.InternalUsbTblInterruptDelta$[Property.InternalUsbUniqueDeferredWorkIndex] / (1000*1000*10.0)] UcxControllerPtr fid_UcxController; [Global.InternalUsbTblInterruptLastTimeStamp$[Property.UcxControllerPtr] = TimeOffset] UINT32 fid_InterrupterNumber; } Struct USBXHCI_ETW_EVENT_DEFERRED_WORK_START = FormatString("USBXHCI_ETW_EVENT_DEFERRED_WORK_START - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { UINT32 fid_InterrupterNumber; } Struct USBXHCI_ETW_EVENT_DEFERRED_WORK_START_V2 = FormatString("USBXHCI_ETW_EVENT_DEFERRED_WORK_START_V2 - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { [Global.InternalUsbTblDeferredWorkStart$[Property.UcxControllerPtr] = TimeOffset] UcxControllerPtr fid_UcxController; UINT32 fid_InterrupterNumber; } Struct USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP = FormatString("USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { UINT32 fid_InterrupterNumber; } Struct USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP_V2 = FormatString("USBXHCI_ETW_EVENT_DEFERRED_WORK_STOP_V2 - fid_InterrupterNumber : %s", fid_InterrupterNumber.ToString) { [Property.InternalUsbUniqueDeferredWorkIndex = FormatString("%s_%d", Property.UcxControllerPtr, FrameNumber)] [Global.InternalUsbTblDeferredWorkDuration$[Property.InternalUsbUniqueDeferredWorkIndex] = TimeOffset - Global.InternalUsbTblDeferredWorkStart$[Property.UcxControllerPtr]] [Property.USBWorkerDuration = Global.InternalUsbTblDeferredWorkDuration$[Property.InternalUsbUniqueDeferredWorkIndex] / (1000*1000*10.0)] UcxControllerPtr fid_UcxController; UINT32 fid_InterrupterNumber; [Property.USBEventsProcessed = FormatString("%d", this)] UINT32 fid_EventsProcessed; [Property.USBIsEventRingEmpty = this] BOOL fid_isEventRingEmpty; } Struct USBXHCI_ETW_EVENT_DOORBELL = FormatString("USBXHCI_ETW_EVENT_DOORBELL - fid_SlotId : %s, fid_EndpointContextIndex : %s, fid_StreamId : %s", fid_SlotId.ToString, fid_EndpointContextIndex.ToString, fid_StreamId.ToString) { UINT8 fid_SlotId; UINT32 fid_EndpointContextIndex; UINT32 fid_StreamId; } Struct USBXHCI_ETW_EVENT_START_TRACKING_FOR_TIME_SYNC = FormatString("START_TRACKING_FOR_TIME_SYNC - fid_UcxController : %s, fid_IsStartupDelayTolerable : %s, fid_RequestorMode : %s, fid_NtStatus : %s, fid_TimeTrackingHandle : %s", fid_UcxController.ToString, fid_IsStartupDelayTolerable.ToString, RequestorModeEnumValue(fid_RequestorMode), fid_NtStatus.ToString, fid_TimeTrackingHandle.ToString) { UcxControllerPtr fid_UcxController; BOOL fid_IsStartupDelayTolerable; UINT32 fid_RequestorMode = RequestorModeEnumValue(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; EtlPtr fid_TimeTrackingHandle; } Struct USBXHCI_ETW_EVENT_STOP_TRACKING_FOR_TIME_SYNC = FormatString("STOP_TRACKING_FOR_TIME_SYNC - fid_UcxController : %s, fid_TimeTrackingHandle : %s, fid_IsCloseHandleFromClient : %s, fid_RequestorMode : %s, fid_NtStatus : %s, fid_NumberOfFrameQpcTranslations : %s", fid_UcxController.ToString, fid_TimeTrackingHandle.ToString, fid_IsCloseHandleFromClient.ToString, RequestorModeEnumValue(fid_RequestorMode), fid_NtStatus.ToString, fid_NumberOfGetFrameQpcCalls.ToString, fid_NumberOfFrameQpcTranslations.ToString) { UcxControllerPtr fid_UcxController; EtlPtr fid_TimeTrackingHandle; BOOL fid_IsCloseHandleFromClient; UINT32 fid_RequestorMode = RequestorModeEnumValue(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_NumberOfGetFrameQpcCalls; UINT32 fid_NumberOfFrameQpcTranslations; } Struct USBXHCI_ETW_EVENT_CONFIGURE_ENDPOINT = FormatString("CONFIGURE_ENDPOINT Config:Interface:AltSetting %s:%s:%s", fid_ConfigurationValue.ToString, fid_InterfaceNumber.ToString, fid_AlternateSetting.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UINT32 fid_ConfigurationValue; UINT32 fid_InterfaceNumber; UINT32 fid_AlternateSetting; [Property.USBNtStatus = this.ToString] NTSTATUS fid_LastConfigureEndpointStatus; } Struct USBXHCI_ETW_EVENT_CONTROLLER_HEALTH = FormatString("USBXHCI Controller Health Information") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; DeviceCapabilities fid_DeviceCapabilities; UINT32 fid_PortNumber; UINT32 fid_PortStatusChange; } Struct USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V1 = FormatString("USBXHCI Controller Health Information v1") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; DeviceCapabilities fid_DeviceCapabilities; UINT32 fid_PortNumber; UINT32 fid_PortStatusChange; BOOL fid_IsPortErrorRecovered; } Struct USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V2 = FormatString("USBXHCI Controller Health Information v2") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; UINT32 fid_NumberOfResetRecoveryAttempts; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; DeviceCapabilities fid_DeviceCapabilities; UINT32 fid_PortNumber; UINT32 fid_PortStatusChange; BOOL fid_IsPortErrorRecovered; BOOL fid_WasPortErrorReported; BOOL fid_WasPortRecoveryAssisted; } Struct USBXHCI_ETW_EVENT_CONTROLLER_HEALTH_V3 = FormatString("USBXHCI Controller Health Information v3") { InitialUcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_S0IdleStatus = S0IdleStatus(this); UINT32 fid_WdfDevicePowerState = WdfDevicePowerState(this); [Global.InternalUsbTblController$[Property.UcxControllerPtr] = ControllerString(fid_ParentBusType, fid_PciVendorId, fid_PciDeviceId, fid_PciRevisionId, fid_AcpiVendorId, fid_AcpiDeviceId, fid_AcpiRevisionId)] UINT32 fid_InstanceNumber; BOOL fid_WdfPowerReferenceForDebuggerAcquired; BOOL fid_IsSecureDevice; UINT32 fid_DMAModeInVSM = DMAModeInVSM(this); UINT32 fid_NumberOfDMATargetsInVSM; UINT32 fid_UsbEndpointOffloadMode = UsbEndpointOffloadMode(this); BOOL fid_IsTimeTrackingEnabled; USBXHCIDeviceFlags0 fid_DeviceFlags_0; USBXHCIDeviceFlags1 fid_DeviceFlags_1; USBXHCICachedHcsParams1 fid_CachedHcsParams1; USBXHCICachedHcsParams2 fid_CachedHcsParams2; USBXHCICachedHcsParams3 fid_CachedHcsParams3; USBXHCICachedHccParams1 fid_CachedHccParams1; USBXHCICachedHccParams2 fid_CachedHccParams2; UINT32 fid_MapRegisterCount; UINT32 fid_SecondaryInterrupterCount; UINT32 fid_InterruptMechanism = InterruptMechanism(this); UINT32 fid_SupportedNumberOfStreams; UINT32 fid_ControllerSuspendResumeCount; ControllerCounters_v1 fid_Counters; DeviceCapabilities fid_DeviceCapabilities; UINT32 fid_PortNumber; UINT32 fid_PortStatusChange; BOOL fid_IsPortErrorRecovered; BOOL fid_WasPortErrorReported; BOOL fid_WasPortRecoveryAssisted; } Struct USBXHCI_ETW_EVENT_CONTROLLER_FATAL_ERROR = FormatString("USBXHCI Error Encountered") { InitialUcxControllerPtr fid_UcxController; UnicodeString fid_DeviceInstanceId; UINT32 fid_ParentBusType = MapParentBusType(this); UINT8 fid_MajorVersion; UINT8 fid_MinorVersion; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT64 fid_FirmwareVersion; UINT32 fid_InstanceNumber; UINT32 fid_ReasonCode = FailureReason(this); UINT32 fid_RecoveryAction = RecoveryAction(this); UINT64 fid_Parameter3; UINT64 fid_Parameter4; } [RegisterBefore(EventDescriptor.DefaultKeyword, MicrosoftWindowsUSBUSBXHCI_Keyword, "{30e1d284-5d88-459c-83fd-6345b39b19ec}")] struct MicrosoftWindowsUSBUSBXHCI_Keyword { UINT64 Default:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_DEFAULT":""); UINT64 USBError:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_USBERROR":""); UINT64 IRP:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_IRP":""); UINT64 Power:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_POWER":""); UINT64 PnP:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_PNP":""); UINT64 Performance:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_PERFORMANCE":""); UINT64 HeadersBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_HEADERS_BUS_TRACE":""); UINT64 PartialDataBusTrace:1 = FormatString("(%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_PARTIAL_DATA_BUS_TRACE":""); UINT64 FullDataBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_FULL_DATA_BUS_TRACE":""); UINT64 StateMachine:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_STATEMACHINE":""); UINT64 Enumeration:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_ENUMERATION":""); UINT64 VerifyDriver:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_VERIFYDRIVER":""); UINT64 HWVerifyHost:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_HW_VERIFYHOST":""); UINT64 HWVerifyHub:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_HW_VERIFYHUB":""); UINT64 HWVerifyDevice:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_HW_VERIFYDEVICE":""); UINT64 Rundown:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_RUNDOWN":""); UINT64 Device:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_DEVICE":""); UINT64 Hub:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_HUB":""); UINT64 Compat:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_COMPAT":""); UINT64 ControllerCommand:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_CONTROLLER_COMMAND":""); UINT64 Reserved1:44 = FormatString(" (%s)", this.ToBitString); } struct USBXHCIDeviceFlags0 { UINT64 Use32BitRegisterAccess:1 = (this == 1 ? "ENABLED" : "0"); UINT64 NoControllerSaveRestoreState:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreBIOSHandoffFailure:1 = (this == 1 ? "ENABLED" : "0"); UINT64 NoLinkTRBInTD:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ControllerNotSupported:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreContextErrorOnEPStop:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DataStageTrbMax512:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableChainedMDLSupport:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DelayAfterMFDisable:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseLineBasedInterrupts:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseMaxNumberOfStreams:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SetLinkTRBChainBit:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseSingleInterrupter:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreCompletionCode199:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DelayInitialEndpointStopCommand:1 = (this == 1 ? "ENABLED" : "0"); UINT64 OnResetDisableEnable:1 = (this == 1 ? "ENABLED" : "0"); UINT64 MaximumEndpointIntervalValue7:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableImmediateData:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableStreams:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ForceU0PriorToU3:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableIdlePowerManagement:1 = (this == 1 ? "ENABLED" : "0"); UINT64 OnStopConfigureStreamEndpoint:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Disable20LPM:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnablePPTSWBandwidthMgmt:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ControllerFirmwareOutdated:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Map20PortDisableToSuspend:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ControllerCanMissU3Request:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Disable20LPMPriorToU3:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnableErrorRecoveryOnEventRingFull:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ForceWakeEnableBitsInD0:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ClearCSCPriorToD0Exit:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SerializeControllerCommands:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ClearTtBufferOnAsyncTransferCancel:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableBEI:1 = (this == 1 ? "ENABLED" : "0"); UINT64 RoundSplitTransferSizeToPacketSize:1 = (this == 1 ? "ENABLED" : "0"); UINT64 StreamEDTLAAlternateLocation1:1 = (this == 1 ? "ENABLED" : "0"); UINT64 StreamEDTLAAlternateLocation2:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ValidateTransferEventPointer:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DropDuplicateEd0TransferEvents:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SerializeTDBulkInterrupt:1 = (this == 1 ? "ENABLED" : "0"); UINT64 PartialStreamEDTLAValue:1 = (this == 1 ? "ENABLED" : "0"); UINT64 PreventSchedulingLateIsochTd:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ExpectLackOfMseEvents:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ResetControllerOnShutdown:1 = (this == 1 ? "ENABLED" : "0"); UINT64 StreamEDTLAReinitNeeded:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseEDTLAValidBit:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnablePPTBulkBeforeIntWorkaround:1 = (this == 1 ? "ENABLED" : "0"); UINT64 PreventStandaloneLinkTDForFullSpeedIsoch:1 = (this == 1 ? "ENABLED" : "0"); UINT64 MaxEventRingSegmentCount2:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Append8NoOpTRBsToEventDataTrbForSSBulkIn:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ZeroTRBSegments:1 = (this == 1 ? "ENABLED" : "0"); UINT64 HideInvalidDebugPortStatusAndChange:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SetUnlimitedErrorRetryCountForEndpoint:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreEventDataBitForTransferRingEmptyEvent:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DoPreInterruptsDisableAcpiCallout:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnableCHTNonArchitecturalRegisterSaveRestore:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnableCHTPMEWakeWorkaround:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnableCHTSSICPortUnusedWorkaround:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ExecuteDSMToEnableRTD3InAddDevice:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreContiguousFrameIDCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ExecuteDSMForHSICDisconnectInU3:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SetMultiTTBitDuringConfigureEndpoint:1 = (this == 1 ? "ENABLED" : "0"); UINT64 FailTransfersWithCompletionCode199:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseStrictBIOSHandoff:1 = (this == 1 ? "ENABLED" : "0"); } struct USBXHCIDeviceFlags1 { UINT64 ExecutePowerTransitionWorkaroundsForKBL:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DelayPollingHCRSTAfterSettingHCRST:1 = (this == 1 ? "ENABLED" : "0"); UINT64 IgnoreDataBufferErrorWithED0EventTrb:1 = (this == 1 ? "ENABLED" : "0"); UINT64 NoControllerSaveRestoreStateWithDebugEnabled:1 = (this == 1 ? "ENABLED" : "0"); UINT64 NoClearPciCommandRegisterOnControllerStopFailed:1 = (this == 1 ? "ENABLED" : "0"); UINT64 FailTransfersWithCompletionCode198:1 = (this == 1 ? "ENABLED" : "0"); UINT64 ClearPLCOnU0PriorToU3:1 = (this == 1 ? "ENABLED" : "0"); UINT64 RestoreRyzenFeatureBitsPostControllerReset1:1 = (this == 1 ? "ENABLED" : "0"); UINT64 RestoreRyzenFeatureBitsPostControllerReset2:1 = (this == 1 ? "ENABLED" : "0"); UINT64 RestoreRyzenFeatureBitsPostControllerReset3:1 = (this == 1 ? "ENABLED" : "0"); UINT64 AvoidClearingERSTDuringReleaseHardware:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableExtendedTBCEnable:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DoNotSetExtendedTCBTRBStatusEnable:1 = (this == 1 ? "ENABLED" : "0"); UINT64 AssignRuntimeRegistersToVTL1:1 = (this == 1 ? "ENABLED" : "0"); UINT64 AssignDoorbellsToVTL1:1 = (this == 1 ? "ENABLED" : "0"); UINT64 DisableLinkStateInComplianceModeCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT64 RecoverInactivePortWithInterruptEndpoint:1 = (this == 1 ? "ENABLED" : "0"); UINT64 PromoteFullSpeed4msIntEpTo2ms:1 = (this == 1 ? "ENABLED" : "0"); UINT64 EnableFasterRetriesOnStopEpFailures:1 = (this == 1 ? "ENABLED" : "0"); UINT64 LimitAddressingCapabilityAs32BitOnly:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SplitTransactionHSIIWorkaround:1 = (this == 1 ? "ENABLED" : "0"); UINT64 UseRelaxedIdleTimeout:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SupportsIntelIsTunneledFlag:1 = (this == 1 ? "ENABLED" : "0"); UINT64 SupportsAmdIsTunneledFlag:1 = (this == 1 ? "ENABLED" : "0"); UINT64 AttemptRestartOnClearPortStatusChangeFailure:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Needs180msDelayPostHcReset:1 = (this == 1 ? "ENABLED" : "0"); UINT64 AllowSingleBDFDMAMode:1 = (this == 1 ? "ENABLED" : "0"); UINT64 Reserved:37 = (this != 0 ? "Unknown hackflags are enabled. NPL file needs to be updated" : "0"); } struct USBXHCICachedHcsParams1 { UINT32 NumberOfDeviceSlots:8; UINT32 NumberOfInterrupters:11; UINT32 Reserved0:5 = this.ToBitString; UINT32 NumberOfPorts:8; } struct USBXHCICachedHcsParams2 { UINT32 IsochSchedulingThreshold:4; UINT32 EventRingSegmentTableMax:4; UINT32 Reserved0:13 = this.ToBitString; UINT32 MaxScratchpadBuffersHi:5; UINT32 ScratchpadRestore:1 = (this == 1 ? "ENABLED" : "0"); UINT32 MaxScratchpadBuffers:5; } struct USBXHCICachedHcsParams3 { UINT32 U1DeviceExitLatency:8; UINT32 Reserved0:8 = this.ToBitString; UINT32 U2DeviceExitLatency:16 } struct USBXHCICachedHccParams1 { UINT32 Bit64AddressingCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 BwNegotiationCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ContextSize:1 = (this == 1 ? "ENABLED" : "0"); UINT32 PortPowerControl:1 = (this == 1 ? "ENABLED" : "0"); UINT32 PortIndicators:1 = (this == 1 ? "ENABLED" : "0"); UINT32 LightHCResetCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 LatencyToleranceMessagingCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 NoSecondarySidSupport:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ParseAllEventData:1 = (this == 1 ? "ENABLED" : "0"); UINT32 StoppedShortPacketCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 StoppedEDTLACapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ContiguousFrameIDCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 MaximumPrimaryStreamArraySize:4 = this.ToBitString; UINT32 XhciExtendedCapabilitiesPointer:16 = this.ToBitString; } struct USBXHCICachedHccParams2 { UINT32 U3EntryCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ConfigureEndpointCommandMaxExitLatencyCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ForceSaveContextCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ComplianceTransitionCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 LargeESITPayloadCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ConfigurationInformationCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ExtendedTBCCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 ExtendedTBCTRBStatusCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 GetSetExtendedPropertyCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 VTIOCapability:1 = (this == 1 ? "ENABLED" : "0"); UINT32 Reserved:22 = FormatString("%s", this.ToBitString); } struct ControllerCounters_v1 { BOOL NeedsReporting; UINT32 ResetCount; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; UINT32 ContextStateErrorCount; UINT32 StopEndpointSuccessRetryMaxCount; UINT32 StopEndpointFailureAfterRetriesCount; } struct ControllerCounters_v2 { BOOL NeedsReporting; UINT32 ResetCount; UINT32 RestoreStateFailureCount; UINT32 RHResumeTimeoutCount; UINT32 RHResumeNeededExtendedWaitCount; UINT32 RHSuspendTimeoutCount; UINT32 RHSuspendNeededExtendedWaitCount; UINT32 RHPLCClearedOnU0PriorToU3Count; UINT32 ContextStateErrorCount; UINT32 StopEndpointSuccessRetryMaxCount; UINT32 StopEndpointFailureAfterRetriesCount; UINT32 SplitTransactionErrorsCount; UINT32 ResetCountTotal; UINT32 RestoreStateFailureCountTotal; UINT32 RHResumeTimeoutCountTotal; UINT32 RHResumeNeededExtendedWaitCountTotal; UINT32 RHSuspendTimeoutCountTotal; UINT32 RHSuspendNeededExtendedWaitCountTotal; UINT32 RHPLCClearedOnU0PriorToU3CountTotal; UINT32 ContextStateErrorCountTotal; UINT32 StopEndpointSuccessRetryMaxCountTotal; UINT32 StopEndpointFailureAfterRetriesCountTotal; UINT32 SplitTransactionErrorsCountTotal; UINT32 HealthCheckEventCountTotal; } struct DeviceCapabilities { UINT16 Size; UINT16 Version; UINT32 DeviceD1:1; UINT32 DeviceD2:1; UINT32 LockSupported:1; UINT32 EjectSupported:1; // Ejectable in S0 UINT32 Removable:1; UINT32 DockDevice:1; UINT32 UniqueID:1; UINT32 SilentInstall:1; UINT32 RawDeviceOK:1; UINT32 SurpriseRemovalOK:1; UINT32 WakeFromD0:1; UINT32 WakeFromD1:1; UINT32 WakeFromD2:1; UINT32 WakeFromD3:1; UINT32 HardwareDisabled:1; UINT32 NonDynamic:1; UINT32 WarmEjectSupported:1; UINT32 NoDisplayInUI:1; UINT32 Reserved1:1; UINT32 WakeFromInterrupt:1; UINT32 SecureDevice:1; UINT32 ChildOfVgaEnabledBridge:1; UINT32 DecodeIoOnBoot:1; UINT32 Reserved:9 = (this != 0 ? "Reserved/Unknown flags are enabled. NPL file needs to be updated" : "0"); UINT32 Address; UINT32 UINumber; UINT32 DeviceState[7]; UINT32 SystemWake; UINT32 DeviceWake; UINT32 U1Latency; UINT32 U2Latency; UINT32 U3Latency; } //# (c) 2009 Microsoft Corporation //# //# Title: Microsoft-Windows-mausbhost //# //# Details: //# //# Public References: mausbhost.man //# //# Comments: //# //# Revision Class and Date:Minor, 7/5/2016 //# //#### [RegisterBefore(NetEvent.UserData, MAUSBHOST, "{7725b5f9-1f2e-4e21-baeb-b2af4690bc87}")] Protocol MaUsbHost = property.ETLSummary { [BuildConversationWithParent, conversation.ConversationDescription = ""] [Post.Property.USBIsError = (( (NetEvent.Header.Descriptor.Level == 0x2) OR (Property.USBNtStatus != "success" && Property.USBNtStatus != "" && Property.USBNtStatus != "0xC0000120 - STATUS_CANCELLED") ) ? 1 : 0)] switch(property.EventID) { case 1: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_RUNDOWN_START MAUSBHOST_ETW_EVENT_RUNDOWN_START; case 2: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_RUNDOWN_COMPLETE MAUSBHOST_ETW_EVENT_RUNDOWN_COMPLETE; case 3: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION MAUSBHOST_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION; case 4: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION MAUSBHOST_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION; case 5: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION MAUSBHOST_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION; case 6: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_CREATE MAUSBHOST_ETW_EVENT_CONTROLLER_CREATE; case 7: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_DELETE MAUSBHOST_ETW_EVENT_CONTROLLER_DELETE; case 8: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_DEVICE_CREATE MAUSBHOST_ETW_EVENT_DEVICE_CREATE; case 9: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_DEVICE_UPDATE MAUSBHOST_ETW_EVENT_DEVICE_UPDATE; case 10: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_DEVICE_DELETE MAUSBHOST_ETW_EVENT_DEVICE_DELETE; case 11: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_ENDPOINT_CREATE MAUSBHOST_ETW_EVENT_ENDPOINT_CREATE; case 12: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_ENDPOINT_UPDATE MAUSBHOST_ETW_EVENT_ENDPOINT_UPDATE; case 13: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_ENDPOINT_DELETE MAUSBHOST_ETW_EVENT_ENDPOINT_DELETE; case 15: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_START MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_START; case 16: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE; case 17: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_START MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_START; case 18: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE; case 19: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_START MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_START; case 20: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_COMPLETE MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_COMPLETE; case 21: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY MAUSBHOST_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY; case 50: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_REQUEST MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_REQUEST; case 51: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_RESPONSE MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_RESPONSE; case 52: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_REQUEST MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_REQUEST; case 53: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_RESPONSE MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_RESPONSE; case 54: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_DESCRIPTOR_VALIDATION_FAILURE MAUSBHOST_ETW_EVENT_PAL_DESCRIPTOR_VALIDATION_FAILURE; case 55: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INVALID_SUBTYPE MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INVALID_SUBTYPE; case 56: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_STATUS_ERROR MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_STATUS_ERROR; case 57: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_RETRIES_TIMEOUT MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_RETRIES_TIMEOUT; case 58: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_HEADER_STATUS_ERROR MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_HEADER_STATUS_ERROR; case 59: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INCORRECT_SIZE MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INCORRECT_SIZE; case 60: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_TRANSITION MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_TRANSITION; case 61: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_EXCEPTION MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_EXCEPTION; case 62: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_TRANSITION MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_TRANSITION; case 63: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_EXCEPTION MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_EXCEPTION; case 64: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_TRANSITION MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_TRANSITION; case 65: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_EXCEPTION MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_EXCEPTION; case 66: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_TRANSITION MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_TRANSITION; case 67: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_EXCEPTION MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_EXCEPTION; case 70: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_START_USB_TRANSFER MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_START_USB_TRANSFER; case 71: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_COMPLETE_USB_TRANSFER MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_COMPLETE_USB_TRANSFER; case 72: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERREQ MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERREQ; case 73: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERACK MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERACK; case 74: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERRESP MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERRESP; case 75: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_SPEED_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_SPEED_DEVICE_CAPABILITY_DESCRIPTOR; case 76: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_P_OUT_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_P_OUT_DEVICE_CAPABILITY_DESCRIPTOR; case 77: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_ISOCH_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_ISOCH_DEVICE_CAPABILITY_DESCRIPTOR; case 78: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_SYNCH_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_SYNCH_DEVICE_CAPABILITY_DESCRIPTOR; case 79: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_CONTAINER_ID_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_CONTAINER_ID_DEVICE_CAPABILITY_DESCRIPTOR; case 80: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_MAUSB_LINK_SLEEP_DEVICE_CAPABILITY_DESCRIPTOR MAUSBHOST_ETW_EVENT_PAL_MAUSB_LINK_SLEEP_DEVICE_CAPABILITY_DESCRIPTOR; case 100: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_SEND_DATA MAUSBHOST_ETW_EVENT_IP_SEND_DATA; case 101: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_SEND_DATA_COMPLETE MAUSBHOST_ETW_EVENT_IP_SEND_DATA_COMPLETE; case 102: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_READ_DATA MAUSBHOST_ETW_EVENT_IP_READ_DATA; case 103: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_READ_DATA_COMPLETE MAUSBHOST_ETW_EVENT_IP_READ_DATA_COMPLETE; case 104: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_SOCKET_CONNECT MAUSBHOST_ETW_EVENT_IP_SOCKET_CONNECT; case 105: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_IP_SOCKET_DISCONNECT MAUSBHOST_ETW_EVENT_IP_SOCKET_DISCONNECT; case 106: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_FAIL_ISOCHRONOUS_DEVICE MAUSBHOST_ETW_EVENT_PAL_FAIL_ISOCHRONOUS_DEVICE; case 107: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_PAL_SESSION_CLOSE MAUSBHOST_ETW_EVENT_PAL_SESSION_CLOSE; case 108: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_RECOVERY MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_RECOVERY; case 109: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_EVENT_ENDPOINT_GET_DESCRIPTOR MAUSBHOST_ETW_EVENT_ENDPOINT_GET_DESCRIPTOR; case 201: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRREQ_PACKET; case 202: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETREQ_PACKET; case 203: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLEREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLEREQ_PACKET; case 204: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTREQ_PACKET; case 205: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGRESP_PACKET; case 206: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLERESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLERESP_PACKET; case 207: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTRESP_PACKET; case 208: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0REQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0REQ_PACKET; case 209: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETRESP_PACKET; case 210: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATEREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATEREQ_PACKET; case 211: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTREQ_PACKET; case 212: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVREQ_PACKET; case 213: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTRESP_PACKET; case 214: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETERESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETERESP_PACKET; case 215: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETEREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETEREQ_PACKET; case 216: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATERESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATERESP_PACKET; case 217: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETRESP_PACKET; case 218: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPREQ_PACKET; case 219: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTREQ_PACKET; case 220: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETREQ_PACKET; case 221: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTRESP_PACKET; case 222: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETRESP_PACKET; case 223: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRRESP_PACKET; case 224: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLERESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLERESP_PACKET; case 225: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPRESP_PACKET; case 226: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETREQ_PACKET; case 227: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATERESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATERESP_PACKET; case 228: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVRESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVRESP_PACKET; case 229: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0RESP_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0RESP_PACKET; case 230: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEREQ_PACKET; case 231: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATEREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATEREQ_PACKET; case 232: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGREQ_PACKET; case 233: [property.ETLSummary = this.ToString] MAUSBHOST_ETW_MAUSB_MANAGEMENT_VENDORSPECIFICREQ_PACKET MAUSBHOST_ETW_MAUSB_MANAGEMENT_VENDORSPECIFICREQ_PACKET; default: [property.ETLSummary = "Not exist EventID"]struct{}; } } Table MapSessionCloseReason(value) { switch(value) { case 0: "SessionCloseReasonNone"; default: FormatString("Unknown value: %d", value); } } Table MapControllerResetReason(value) { switch(value) { case 0: "ControllerResetReasonNone"; case 1: "ControllerResetReasonInvalidDeviceHandle"; case 2: "ControllerResetReasonInvalidEndpointHandle"; case 3: "ControllerResetReasonInvalidSessionState"; case 4: "ControllerResetReasonInternalError"; case 5: "ControllerResetReasonSessionDown"; case 6: "ControllerResetReasonSessionRecovery"; default: FormatString("Unknown value: %d", value); } } Struct MAUSBHOST_ETW_EVENT_RUNDOWN_START = "Start Rundown" {}; // Empty Struct Struct MAUSBHOST_ETW_EVENT_RUNDOWN_COMPLETE = "Complete Rundown" {}; // Empty Struct Struct MAUSBHOST_ETW_EVENT_RUNDOWN_CONTROLLER_INFORMATION = FormatString("MAUSB Controller Information") { EtlPtr fid_Controller; UINT32 fid_WdfDevicePowerState; } Struct MAUSBHOST_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION = FormatString("MAUSB Device Information") { EtlPtr fid_Controller; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UINT32 PortPathDepth; UINT32 PortPath[6]; UINT32 fid_MaUsbDeviceHandle; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct MAUSBHOST_ETW_EVENT_RUNDOWN_ENDPOINT_INFORMATION = FormatString("MAUSB Endpoint Information") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_CREATE = FormatString("MAUSB Controller Create") { EtlPtr fid_Controller; UINT32 fid_WdfDevicePowerState; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_DELETE = FormatString("MAUSB Controller Delete") { EtlPtr fid_Controller; UINT32 fid_WdfDevicePowerState; } Struct MAUSBHOST_ETW_EVENT_DEVICE_CREATE = FormatString("MAUSB Device Create") { EtlPtr fid_Controller; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UINT32 PortPathDepth; UINT32 PortPath[6]; UINT32 fid_MaUsbDeviceHandle; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct MAUSBHOST_ETW_EVENT_DEVICE_UPDATE = FormatString("MAUSB Device Update") { EtlPtr fid_Controller; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UINT32 PortPathDepth; UINT32 PortPath[6]; UINT32 fid_MaUsbDeviceHandle; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct MAUSBHOST_ETW_EVENT_DEVICE_DELETE = FormatString("MAUSB Device Delete") { EtlPtr fid_Controller; EtlPtr fid_UsbTtHubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UINT32 PortPathDepth; UINT32 PortPath[6]; UINT32 fid_MaUsbDeviceHandle; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct MAUSBHOST_ETW_EVENT_ENDPOINT_CREATE = FormatString("MAUSB Endpoint Create") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } } Struct MAUSBHOST_ETW_EVENT_ENDPOINT_UPDATE = FormatString("MAUSB Endpoint Update") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } } Struct MAUSBHOST_ETW_EVENT_ENDPOINT_DELETE = FormatString("MAUSB Endpoint Delete") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_START = FormatString("MAUSB Controller EvtDeviceD0Entry Start") { EtlPtr fid_Controller; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_D0_ENTRY_COMPLETE = FormatString("MAUSB Controller EvtDeviceD0Entry Complete") { EtlPtr fid_Controller; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_START = FormatString("MAUSB Controller EvtDeviceD0Exit Start") { EtlPtr fid_Controller; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_D0_EXIT_COMPLETE = FormatString("MAUSB Controller EvtDeviceD0Exit Complete") { EtlPtr fid_Controller; UINT32 fid_DeviceState; UINT32 fid_PowerAction = PowerActionString(this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_START = FormatString("MAUSB Controller Internal Reset Start") { EtlPtr fid_Controller; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_COMPLETE = FormatString("MAUSB Controller Internal Reset Complete") { EtlPtr fid_Controller; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_QUERY_USB_CAPABILITY = FormatString("Query USB capability for controller") { EtlPtr fid_Controller; GUID(true) fid_Capability; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_NumStaticStreams; } Struct MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_REQUEST = FormatString("Send Management Request <%s>", MaUsbManagementSubType(fid_SubType)) { EtlPtr fid_Controller; EtlPtr fid_WdfRequest; UINT8 fid_SubType; UINT16 fid_DeviceHandle; UINT8 fid_DeviceAddress; UINT8 fid_Ssid; UINT8 fid_StatusCode; UINT16 fid_DialogToken; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_SEND_MANAGEMENT_RESPONSE = FormatString("Send Management Response <%s> %s", MaUsbManagementSubType(fid_SubType), MaUsbStatus(fid_StatusCode)) { EtlPtr fid_Controller; EtlPtr fid_WdfRequest; UINT8 fid_SubType; UINT16 fid_DeviceHandle; UINT8 fid_DeviceAddress; UINT8 fid_Ssid; UINT8 fid_StatusCode; UINT16 fid_DialogToken; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_REQUEST = FormatString("Receive Management Request <%s> %s", MaUsbManagementSubType(fid_SubType), MaUsbStatus(fid_StatusCode)) { EtlPtr fid_Controller; EtlPtr fid_WdfRequest; UINT8 fid_SubType; UINT16 fid_DeviceHandle; UINT8 fid_DeviceAddress; UINT8 fid_Ssid; UINT8 fid_StatusCode; UINT16 fid_DialogToken; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_RECEIVE_MANAGEMENT_RESPONSE = FormatString("Receive Management Response <%s> %s", MaUsbManagementSubType(fid_SubType), MaUsbStatus(fid_StatusCode)) { EtlPtr fid_Controller; EtlPtr fid_WdfRequest; UINT8 fid_SubType; UINT16 fid_DeviceHandle; UINT8 fid_DeviceAddress; UINT8 fid_Ssid; UINT8 fid_StatusCode; UINT16 fid_DialogToken; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_DESCRIPTOR_VALIDATION_FAILURE = FormatString("MA USB Descriptor Validation Failed Failed For the Following Reason: %s", MaUsbDescriptorValidationError(fid_Error)) { EtlPtr fid_Controller; UINT32 fid_Error; } Struct MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INVALID_SUBTYPE = FormatString("Management Response Invalid Subtype") { EtlPtr fid_Controller; UINT32 fid_ExpectedSubtype; UINT32 fid_ActualSubtype; } Struct MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_STATUS_ERROR = FormatString("Management Response Status Error") { EtlPtr fid_Controller; UINT32 fid_Subtype; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_RETRIES_TIMEOUT = FormatString("Management Response Retries Timed Out") { EtlPtr fid_Controller; UINT32 fid_Subtype; } Struct MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_HEADER_STATUS_ERROR = FormatString("Management Response Header Status Error") { EtlPtr fid_Controller; UINT32 fid_Subtype; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_MANAGEMENT_RESPONSE_INCORRECT_SIZE = FormatString("Management Response Packet Incorrect Size") { EtlPtr fid_Controller; UINT32 fid_Subtype; UINT32 fid_Size; } Struct MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_TRANSITION = FormatString("Session State Machine Transition <%s> %s", PalSessionEvents(fid_Event), PalSessionStates(fid_SourceState)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_TransitionType; UINT32 fid_SourceState; UINT32 fid_Event; UINT32 fid_TargetState; } Struct MAUSBHOST_ETW_EVENT_MANAGEMENT_STATE_MACHINE_EXCEPTION = FormatString("Session State Machine Exception <%s> %s", PalSessionEvents(fid_Event), PalSessionStates(fid_State)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_Exception; UINT32 fid_State; UINT32 fid_Event; } Struct MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_TRANSITION = FormatString("In Transfer State Machine Transition <%s> %s", PalInTransferEvents(fid_Event), PalInTransferStates(fid_SourceState)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_TransitionType; UINT32 fid_SourceState; UINT32 fid_Event; UINT32 fid_TargetState; } Struct MAUSBHOST_ETW_EVENT_IN_TRANSFER_STATE_MACHINE_EXCEPTION = FormatString("In Transfer State Machine Exception <%s> %s", PalInTransferEvents(fid_Event), PalInTransferStates(fid_State)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_Exception; UINT32 fid_State; UINT32 fid_Event; } Struct MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_TRANSITION = FormatString("Out Transfer State Machine Transition <%s> %s", PalOutTransferEvents(fid_Event), PalOutTransferStates(fid_SourceState)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_TransitionType; UINT32 fid_SourceState; UINT32 fid_Event; UINT32 fid_TargetState; } Struct MAUSBHOST_ETW_EVENT_OUT_TRANSFER_STATE_MACHINE_EXCEPTION = FormatString("Out Transfer State Machine Exception <%s> %s", PalOutTransferEvents(fid_Event), PalOutTransferStates(fid_State)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_Exception; UINT32 fid_State; UINT32 fid_Event; } Struct MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_TRANSITION = FormatString("UIL Endpoint State Machine Transition <%s> %s", UilEndpointEvents(fid_Event), UilEndpointStates(fid_SourceState)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_TransitionType; UINT32 fid_SourceState; UINT32 fid_Event; UINT32 fid_TargetState; } Struct MAUSBHOST_ETW_EVENT_UIL_ENDPOINT_STATE_MACHINE_EXCEPTION = FormatString("UIL Endpoint State Machine Exception <%s> %s", UilEndpointEvents(fid_Event), UilEndpointStates(fid_State)) { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_ObjectHandle; UINT32 fid_Exception; UINT32 fid_State; UINT32 fid_Event; } Struct MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_START_USB_TRANSFER = FormatString("Start USB Transfer") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; UINT16 fid_MaUsbEndpointHandle; EtlPtr fid_UsbTransferRequest; UINT32 fid_TransferType; UINT32 fid_TransferDirection; UINT32 fid_TransferBufferLength; } Struct MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_COMPLETE_USB_TRANSFER = FormatString("Complete USB Transfer") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; UINT16 fid_MaUsbEndpointHandle; EtlPtr fid_UsbTransferRequest; UINT32 fid_BytesTransferred; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERREQ = FormatString("TransferReq") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_UsbTransferRequest; UINT16 fid_EndpointHandle; UINT32 fid_TransferType; UINT32 fid_TransferDirection; UINT32 fid_RemainingSizeOrCredit; UINT32 fid_BytesTotal; UINT8 fid_RequestId; UINT32 fid_SequenceNumber; UINT8 fid_FlagBitRetry; } Struct MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERACK = FormatString("TransferAck") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; EtlPtr fid_UsbTransferRequest; UINT16 fid_EndpointHandle; UINT32 fid_TransferType; UINT32 fid_TransferDirection; UINT8 fid_RequestId; UINT32 fid_SequenceNumber; UINT32 fid_MaUsbStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_ENDPOINT_TRANSFERRESP = FormatString("TransferResp") { EtlPtr fid_Controller; UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; UINT16 fid_EndpointHandle; UINT32 fid_TransferType; UINT32 fid_TransferDirection; UINT8 fid_RequestId; UINT32 fid_SequenceNumber; UINT16 fid_Length; UINT32 fid_MaUsbStatus; UINT8 fid_AckRequest; UINT8 fid_FlagBitRetry; UINT32 fid_RemainingSizeOrCredit; UINT8 fid_EndOfTransfer; } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_SPEED_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB Speed Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_Speed_Capability_Descriptor { UINT8 fid_Length; UINT8 fid_Type; UINT8 fid_Speed; UINT8 fid_LaneSpeedExponent; } } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_P_OUT_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB P-Out Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_P_Out_Capability_Descriptor { UINT8 fid_Length; UINT8 fid_Type; UINT8 fid_POutCapabilities; } } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_ISOCH_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB Isochronous Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_Speed_Capability_Descriptor { UINT8 fid_Length; UINT8 fid_Type; UINT8 fid_Speed; UINT8 fid_LaneSpeedExponent; } } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_SYNCH_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB Synchronization Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_Synch_Capability_Descriptor { UINT8 fid_SynchCapabilities; } } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_CONTAINER_ID_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB Container ID Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_Container_Id_Capability_Descriptor { GUID(true) fid_ContainerID; } } Struct MAUSBHOST_ETW_EVENT_PAL_MAUSB_LINK_SLEEP_DEVICE_CAPABILITY_DESCRIPTOR = FormatString("MA USB Link Sleep Device Capability Descriptor") { EtlPtr fid_Controller; struct fid_MAUSB_Device_Link_Sleep_Capability_Descriptor { UINT8 fid_LinkSleepCapabilities; } } Struct MAUSBHOST_ETW_EVENT_IP_SEND_DATA = FormatString("IP Send Data") { EtlPtr fid_WdfRequest; EtlPtr fid_Irp; EtlPtr fid_IoChannelHandle; UINT64 fid_NumberOfBytes; } Struct MAUSBHOST_ETW_EVENT_IP_SEND_DATA_COMPLETE = FormatString("IP Send Data Complete") { EtlPtr fid_WdfRequest; EtlPtr fid_Irp; UINT64 fid_NumberOfBytes; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_IP_READ_DATA = FormatString("IP Read Data") { EtlPtr fid_WdfRequest; EtlPtr fid_IoChannelHandle; UINT64 fid_NumberOfBytes; } Struct MAUSBHOST_ETW_EVENT_IP_READ_DATA_COMPLETE = FormatString("IP Read Data Complete") { EtlPtr fid_WdfRequest; UINT64 fid_NumberOfBytes; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_IP_SOCKET_CONNECT = FormatString("IP Socket Connect") { EtlPtr fid_FdoContext; UINT32 fid_LocalAddressLength; switch { case fid_LocalAddressLength > 0 : ETL_SOCKADDR_STORAGE fid_LocalAddress; } UINT32 fid_RemoteAddressLength; switch { case fid_RemoteAddressLength > 0 : ETL_SOCKADDR_STORAGE fid_RemoteAddress; } [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_IP_SOCKET_DISCONNECT = FormatString("IP Socket Disconnect") { EtlPtr fid_FdoContext; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct MAUSBHOST_ETW_EVENT_PAL_FAIL_ISOCHRONOUS_DEVICE = FormatString("Isochronous Device Fail") { EtlPtr fid_Controller; EtlPtr fid_UsbTtHubDevice; EtlPtr fid_UsbDevice; UINT32 DeviceSpeed; UINT32 PortPathDepth; UINT32 PortPath[6]; UINT32 fid_MaUsbDeviceHandle; UINT32 fid_DeviceIsHub; UINT32 fid_NumberOfPorts; UINT32 fid_NumberOfTTs; struct fid_USB_Device_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT16 fid_bcdUSB; UINT8 fid_bDeviceClass; UINT8 fid_bDeviceSubClass; UINT8 fid_bDeviceProtocol; UINT8 fid_bMaxPacketSize0; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT8 fid_iManufacturer; UINT8 fid_iProduct; UINT8 fid_iSerialNumber; UINT8 fid_bNumConfigurations; } } Struct MAUSBHOST_ETW_EVENT_PAL_SESSION_CLOSE = FormatString("Session Close") { EtlPtr fid_Controller; UINT64 fid_ControlTransferSuccessCount; UINT64 fid_ControlTransferFailureCount; UINT64 fid_InterruptTransferSuccessCount; UINT64 fid_InterruptTransferFailureCount; UINT64 fid_BulkTransferSuccessCount; UINT64 fid_BulkTransferFailureCount; UINT64 fid_IsochTransferSuccessCount; UINT64 fid_IsochTransferFailureCount; UINT64 fid_RetriedPacketsWhichSucceeded; UINT64 fid_InvalidPacketsBadEndpointHandle; UINT64 fid_InvalidPacketsBadTransferRespRequestId; UINT64 fid_InvalidPacketsBadTransferRespSequenceNumber; UINT64 fid_InvalidPacketsBadStatusCode; UINT64 fid_InvalidPacketsBadSize; UINT64 fid_InvalidPacketsIsochNotSupported; UINT64 fid_InvalidPacketsNoManagementRequest; UINT64 fid_InvalidPacketsManagementBadSubtype; UINT32 fid_SessionCloseReason = MapSessionCloseReason(this); UINT32 fid_ManufacturerStringLength; UnicodeString(fid_ManufacturerStringLength) fid_ManufacturerString; UINT32 fid_ModelNameStringLength; UnicodeString(fid_ModelNameStringLength) fid_ModelNameString; UINT32 fid_ModelNumberStringLength; UnicodeString(fid_ModelNumberStringLength) fid_ModelNumberString; } Struct MAUSBHOST_ETW_EVENT_CONTROLLER_RESET_RECOVERY = FormatString("Recovered session by control reset") { EtlPtr fid_Controller; UINT32 fid_ControllerResetReason = MapControllerResetReason(this); } Struct MAUSBHOST_ETW_EVENT_ENDPOINT_GET_DESCRIPTOR = FormatString("Receieved descriptor for endpoint") { EtlPtr fid_Controller; EtlPtr fid_UsbDevice; EtlPtr fid_Endpoint; struct fid_USB_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } UINT8 fid_IsLinkManaged; UINT16 fid_CreditConsumptionUnit; UINT32 fid_BufferSize; UINT16 fid_IsochProgrammingDelay; UINT16 fid_IsochResponseDelay; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRREQ_PACKET = FormatString("Management packet of type SetUSBDevAddrReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT16 fid_ResponseTimeout; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETREQ_PACKET = FormatString("Management packet of type DevResetReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLEREQ_PACKET = FormatString("Management packet of type USBDevHandleReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_RouteStringPort1; UINT8 fid_RouteStringPort2; UINT8 fid_RouteStringPort3; UINT8 fid_RouteStringPort4; UINT8 fid_RouteStringPort5; UINT8 fid_USBSpeed; UINT16 fid_HubDeviceHandle; UINT16 fid_ParentHSHubDeviceHandle; UINT8 fid_ParentHSHubPort; UINT8 fid_MTT; UINT8 fid_LaneSpeedExponent; UINT8 fid_SublinkType; UINT8 fid_LaneCount; UINT8 fid_LinkProtocol; UINT16 fid_LaneSpeedMantissa; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTREQ_PACKET = FormatString("Management packet of type USBDevDisconnectReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGRESP_PACKET = FormatString("Management packet of type PingResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVHANDLERESP_PACKET = FormatString("Management packet of type USBDevHandleResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT16 fid_USBDeviceHandle; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVDISCONNECTRESP_PACKET = FormatString("Management packet of type USBDevDisconnectResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0REQ_PACKET = FormatString("Management packet of type ModifyEP0Req") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT16 fid_EP0Handle; UINT16 fid_MaxPacketSize; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETRESP_PACKET = FormatString("Management packet of type USBDevResetResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATEREQ_PACKET = FormatString("Management packet of type EPInactivateReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesToInactivate; UINT8 fid_SuspendFlag; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesToInactivate]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTREQ_PACKET = FormatString("Management packet of type DevInitDisconnectReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVREQ_PACKET = FormatString("Management packet of type UpdateDevReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT32 fid_UpdateDevReqFields; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_MAUSBDEVICEINITIATEDDISCONNECTRESP_PACKET = FormatString("Management packet of type DevInitDisconnectResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETERESP_PACKET = FormatString("Management packet of type EPHandleDeleteResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesWithError; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesWithError]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEDELETEREQ_PACKET = FormatString("Management packet of type EPHandleDeleteReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesToDelete; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesToDelete]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEINACTIVATERESP_PACKET = FormatString("Management packet of type EPInactivateResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesWithError; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesWithError]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETRESP_PACKET = FormatString("Management packet of type EPResetResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEPHandlesWithError; UINT16 fid_EPHandle; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPREQ_PACKET = FormatString("Management packet of type CapReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTREQ_PACKET = FormatString("Management packet of type DevDisconnectReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPRESETREQ_PACKET = FormatString("Management packet of type EPResetReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEPResetInformationBlocks; UINT16 fid_EPHandle; UINT8 fid_TransferStatePreserve; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVDISCONNECTRESP_PACKET = FormatString("Management packet of type DevDisconnectResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_DEVRESETRESP_PACKET = FormatString("Management packet of type DevResetResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_SETUSBDEVADDRRESP_PACKET = FormatString("Management packet of type SetUSBDevAddrResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_UsbDeviceAddress; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLERESP_PACKET = FormatString("Management packet of type EPHandleResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpDescriptors; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_CAPRESP_PACKET = FormatString("Management packet of type CapResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT16 fid_NumberOfEndpoints; UINT8 fid_NumberOfDevices; UINT8 fid_NumberOfStreams; UINT8 fid_DeviceType; UINT8 fid_DescriptorCount; UINT32 fid_DescriptorLength; UINT16 fid_MaxOutstandingTransferRequests; UINT16 fid_MaxOutstandingManagementRequests; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_USBDEVRESETREQ_PACKET = FormatString("Management packet of type USBDevResetReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATERESP_PACKET = FormatString("Management packet of type EPActivateResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesWithError; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesWithError]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_UPDATEDEVRESP_PACKET = FormatString("Management packet of type UpdateDevResp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_MODIFYEP0RESP_PACKET = FormatString("Management packet of type ModifyEP0Resp") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT16 fid_EP0Handle; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEREQ_PACKET = FormatString("Management packet of type EPHandleReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpDescriptors; UINT8 fid_SizeOfEPDescriptor; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_EPHANDLEACTIVATEREQ_PACKET = FormatString("Management packet of type EPActivateReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; UINT8 fid_NumberOfEpHandlesToActivate; UINT16 fid_EndpointHandle[fid_NumberOfEpHandlesToActivate]; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_PINGREQ_PACKET = FormatString("Management packet of type PingReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } Struct MAUSBHOST_ETW_MAUSB_MANAGEMENT_VENDORSPECIFICREQ_PACKET = FormatString("Management packet of type VendorSpecificReq") { EtlPtr fid_Controller; UINT8 fid_HeaderVersion; UINT8 fid_HeaderFlagBitHost; UINT8 fid_HeaderFlagBitRetry; UINT8 fid_HeaderFlagBitTimeStamp; UINT8 fid_HeaderSubType; UINT8 fid_HeaderType; UINT16 fid_HeaderLength; UINT16 fid_HeaderDeviceHandle; UINT8 fid_HeaderDeviceAddress; UINT8 fid_HeaderSSID; UINT8 fid_HeaderStatusCode; UINT16 fid_HeaderDialogToken; } [RegisterBefore(EventDescriptor.DefaultKeyword, MicrosoftWindowsUSBMAUSBHOST_Keyword, "{7725b5f9-1f2e-4e21-baeb-b2af4690bc87}")] struct MicrosoftWindowsUSBMAUSBHOST_Keyword { UINT64 Default:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_DEFAULT":""); UINT64 USBError:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_USBERROR":""); UINT64 IRP:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_IRP":""); UINT64 Power:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_POWER":""); UINT64 PnP:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_PNP":""); UINT64 Performance:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_PERFORMANCE":""); UINT64 HeadersBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_HEADERS_BUS_TRACE":""); UINT64 PartialDataBusTrace:1 = FormatString("(%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_PARTIAL_DATA_BUS_TRACE":""); UINT64 FullDataBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_FULL_DATA_BUS_TRACE":""); UINT64 StateMachine:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_STATEMACHINE":""); UINT64 Enumeration:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_ENUMERATION":""); UINT64 VerifyDriver:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_VERIFYDRIVER":""); UINT64 HWVerifyHost:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_HW_VERIFYHOST":""); UINT64 HWVerifyHub:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_HW_VERIFYHUB":""); UINT64 HWVerifyDevice:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_HW_VERIFYDEVICE":""); UINT64 Rundown:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_RUNDOWN":""); UINT64 Device:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_DEVICE":""); UINT64 Hub:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_HUB":""); UINT64 Compat:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_COMPAT":""); UINT64 MAUSBTraffic:1 = FormatString(" (%s) %s", this.ToBitString, this? "MAUSBHOST_ETW_KEYWORD_MAUSB_TRAFFIC":""); UINT64 Reserved1:44 = FormatString(" (%s)", this.ToBitString); } //# (c) 2009 Microsoft Corporation //# //# Title: Microsoft-Windows-ucx //# //# Details: //# //# Public References: ucx.man //# //# Comments: //# //# Revision Class and Date:Minor, 6/6/2011 //# //#### [RegisterBefore(NetEvent.UserData, UsbUcx, "{36da592d-e43a-4e28-af6f-4bc57c5a11e8}")] Protocol UsbUcx = property.ETLSummary { [BuildConversationWithParent, conversation.ConversationDescription = ""] // // All completion URBs logged by UCX include NTSTATUS // [Property.InternalUsbNtstatusUrbs = 1] [Post.Property.USBIsError = (( (NetEvent.Header.Descriptor.Level == 0x2) OR (Property.USBDStatus != "success" && Property.USBDStatus != "" && Property.USBDStatus != "canceled" && Property.USBDStatus != "pending") OR (Property.USBNtStatus != "success" && Property.USBNtStatus != "Success" && Property.USBNtStatus != "" && Property.USBNtStatus != "0xC0000120 - STATUS_CANCELLED") ) ? 1 : 0)] switch(property.EventID) { case 1: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_START UCX_ETW_EVENT_RUNDOWN_START; case 2: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_COMPLETE UCX_ETW_EVENT_RUNDOWN_COMPLETE; case 3: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_INFORMATION UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_INFORMATION; case 4: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_ROOTHUB_INFORMATION UCX_ETW_EVENT_RUNDOWN_UCX_ROOTHUB_INFORMATION; case 5: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_DEVICE_INFORMATION UCX_ETW_EVENT_RUNDOWN_UCX_DEVICE_INFORMATION; case 6: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_INFORMATION UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_INFORMATION; case 7: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_STATIC_STREAM_INFORMATION UCX_ETW_EVENT_RUNDOWN_UCX_STATIC_STREAM_INFORMATION; case 8: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_CONTROLLER_CREATE UCX_ETW_EVENT_UCX_CONTROLLER_CREATE; case 9: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_CONTROLLER_DELETE UCX_ETW_EVENT_UCX_CONTROLLER_DELETE; case 10: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ROOTHUB_CREATE UCX_ETW_EVENT_UCX_ROOTHUB_CREATE; case 11: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ROOTHUB_DELETE UCX_ETW_EVENT_UCX_ROOTHUB_DELETE; case 12: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ROOTHUB_PREPARE UCX_ETW_EVENT_UCX_ROOTHUB_PREPARE; case 13: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ROOTHUB_RELEASE UCX_ETW_EVENT_UCX_ROOTHUB_RELEASE; case 14: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_DEVICE_CREATE UCX_ETW_EVENT_UCX_DEVICE_CREATE; case 15: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_DEVICE_DELETE UCX_ETW_EVENT_UCX_DEVICE_DELETE; case 16: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ENDPOINT_CREATE UCX_ETW_EVENT_UCX_ENDPOINT_CREATE; case 17: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ENDPOINT_DELETE UCX_ETW_EVENT_UCX_ENDPOINT_DELETE; case 18: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_STATIC_STREAM_CREATE UCX_ETW_EVENT_UCX_STATIC_STREAM_CREATE; case 19: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_STATIC_STREAM_DELETE UCX_ETW_EVENT_UCX_STATIC_STREAM_DELETE; case 20: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER; case 21: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER; case 22: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_DATA; case 23: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER_EX UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER_EX; case 24: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX; case 25: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX_DATA; case 26: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER; case 27: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER; case 28: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_PARTIAL_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_PARTIAL_DATA; case 29: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_FULL_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_FULL_DATA; case 30: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_ISOCH_TRANSFER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_ISOCH_TRANSFER; case 31: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER; case 32: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_PARTIAL_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_PARTIAL_DATA; case 33: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_FULL_DATA UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_FULL_DATA; case 34: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE; case 35: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE; case 36: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT; case 37: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE; case 38: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE; case 39: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT; case 40: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_DEVICE; case 41: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_INTERFACE; case 42: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_ENDPOINT; case 43: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_OTHER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_OTHER; case 44: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE; case 45: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE; case 46: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT; case 47: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_OTHER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_OTHER; case 48: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_DEVICE; case 49: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_INTERFACE; case 50: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_ENDPOINT; case 51: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_OTHER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_OTHER; case 52: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_DEVICE; case 53: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_INTERFACE; case 54: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_ENDPOINT; case 55: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_OTHER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_OTHER; case 56: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_DEVICE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_DEVICE; case 57: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_INTERFACE; case 58: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_ENDPOINT UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_ENDPOINT; case 59: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_OTHER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_OTHER; case 60: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_CONFIGURATION UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_CONFIGURATION; case 61: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_INTERFACE UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_INTERFACE; case 62: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR; case 63: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_TRANSITION UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_TRANSITION; case 64: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_EVENT UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_EVENT; case 65: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_TRANSITION UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_TRANSITION; case 66: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_EVENT UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_EVENT; case 67: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_TRANSITION UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_TRANSITION; case 68: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_EVENT UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_EVENT; case 69: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_TRANSITION UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_TRANSITION; case 70: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_EVENT UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_EVENT; case 71: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_UCX_ROOTHUB_INITIATING_WAKE UCX_ETW_EVENT_UCX_ROOTHUB_INITIATING_WAKE; case 72: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER; case 73: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER; case 74: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_ISOCH_TRANSFER UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_ISOCH_TRANSFER; case 75: [property.ETLSummary = this.ToString] UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_ISOCH_TRANSFER UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_ISOCH_TRANSFER; default: [property.ETLSummary = "Not exist EventID"]struct{}; } } Struct UCX_ETW_EVENT_RUNDOWN_START = "Start Rundown" {}; // Empty Struct Struct UCX_ETW_EVENT_RUNDOWN_COMPLETE = "Complete Rundown" {}; // Empty Struct Struct UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_INFORMATION = FormatString("UCX Controller Information") { UcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_ROOTHUB_INFORMATION = FormatString("UCX RootHub Information") { UcxControllerPtr fid_UcxController; InitialUsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_DEVICE_INFORMATION = FormatString("UCX Device Information") { UcxControllerPtr fid_UcxController; EtlPtr fid_HubDevice; InitialUsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UsbPortPath PortPath; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_INFORMATION = FormatString("UCX Endpoint Information") { UsbDevicePtr fid_UsbDevice; InitialUsbEndpointPtr fid_Endpoint; UsbPipeHandle fid_PipeHandle; struct fid_UCX_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; [Global.InternalUsbTblEndpoint$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpoint$[Property.USBPipeHandle] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointAddressFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] UINT8 fid_bEndpointAddress; [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBEndpointPtr] = EndpointType(this)] [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle] = EndpointType(this)] UINT8 fid_bmAttributes; [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT16 fid_wMaxPacketSize; [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT8 fid_bInterval; } } Struct UCX_ETW_EVENT_RUNDOWN_UCX_STATIC_STREAM_INFORMATION = FormatString("UCX Static Stream Information") { UsbDevicePtr fid_UsbDevice; // Look up the endpoint (done within UsbPipeHandle) UsbPipeHandle fid_EndpointPipeHandle; UINT32 fid_StreamID; // Save endpoint address to this stream pipe handle, and show the stream's pipe handle as this // event's pipe handle. [Global.InternalUsbTblEndpoint$[fid_StreamPipeHandle.Ptr] = Property.UsbEndpoint] [Property.USBPipeHandle = fid_StreamPipeHandle.Ptr] EtlPtr fid_StreamPipeHandle; } Struct UCX_ETW_EVENT_UCX_CONTROLLER_CREATE = FormatString("UCX Controller Create") { UcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_UCX_CONTROLLER_DELETE = FormatString("UCX Controller Delete") { UcxControllerPtr fid_UcxController; UINT32 fid_ParentBusType = MapParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UnicodeString fid_DeviceInterfacePath; } [Post.Global.InternalUsbTblPortPath$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblVid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblPid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr] = "[RH]"] Struct UCX_ETW_EVENT_UCX_ROOTHUB_CREATE = FormatString("UCX RootHub Create") { UcxControllerPtr fid_UcxController; InitialUsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_UCX_ROOTHUB_DELETE = FormatString("UCX RootHub Delete") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_UCX_ROOTHUB_PREPARE = FormatString("UCX RootHub Prepare Hardware") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_UCX_ROOTHUB_RELEASE = FormatString("UCX RootHub Release Hardware") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_UCX_DEVICE_CREATE = FormatString("UCX Device Create") { UcxControllerPtr fid_UcxController; EtlPtr fid_HubDevice; InitialUsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UsbPortPath PortPath; } Struct UCX_ETW_EVENT_UCX_DEVICE_DELETE = FormatString("UCX Device Delete") { UcxControllerPtr fid_UcxController; EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 DeviceSpeed; UsbPortPath PortPath; } Struct UCX_ETW_EVENT_UCX_ENDPOINT_CREATE = FormatString("UCX Endpoint Create") { UsbDevicePtr fid_UsbDevice; InitialUsbEndpointPtr fid_Endpoint; UsbPipeHandle fid_PipeHandle; struct fid_UCX_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; [Global.InternalUsbTblEndpoint$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpoint$[Property.USBPipeHandle] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointAddressFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] UINT8 fid_bEndpointAddress; [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBEndpointPtr] = EndpointType(this)] [Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle] = EndpointType(this)] UINT8 fid_bmAttributes; [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT16 fid_wMaxPacketSize; [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBEndpointPtr] = FormatString("0x%x", this)] [Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle] = FormatString("0x%x", this)] UINT8 fid_bInterval; } } Struct UCX_ETW_EVENT_UCX_ENDPOINT_DELETE = FormatString("UCX Endpoint Delete") { UsbDevicePtr fid_UsbDevice; UsbEndpointPtr fid_Endpoint; UsbPipeHandle fid_PipeHandle; struct fid_UCX_Endpoint_Descriptor { UINT8 fid_bLength; UINT8 fid_bDescriptorType; UINT8 fid_bEndpointAddress; UINT8 fid_bmAttributes; UINT16 fid_wMaxPacketSize; UINT8 fid_bInterval; } } Struct UCX_ETW_EVENT_UCX_STATIC_STREAM_CREATE = FormatString("UCX Static Stream Create") { UsbDevicePtr fid_UsbDevice; // Look up the endpoint (done within UsbPipeHandle). UsbPipeHandle fid_EndpointPipeHandle; UINT32 fid_StreamID; // Save endpoint address to this stream pipe handle, and show the stream's pipe handle as this // event's pipe handle. [Global.InternalUsbTblEndpoint$[fid_StreamPipeHandle.Ptr] = Property.UsbEndpoint] [Property.USBPipeHandle = fid_StreamPipeHandle.Ptr] EtlPtr fid_StreamPipeHandle; } Struct UCX_ETW_EVENT_UCX_STATIC_STREAM_DELETE = FormatString("UCX Static Stream Delete") { UsbDevicePtr fid_UsbDevice; // Look up the endpoint (done within UsbPipeHandle). UsbPipeHandle fid_EndpointPipeHandle; UINT32 fid_StreamID; // Save endpoint address to this stream pipe handle, and show the stream's pipe handle as this // event's pipe handle. [Global.InternalUsbTblEndpoint$[fid_StreamPipeHandle.Ptr] = Property.UsbEndpoint] [Property.USBPipeHandle = fid_StreamPipeHandle.Ptr] EtlPtr fid_StreamPipeHandle; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER = FormatString("Dispatch URB_FUNCTION_CONTROL_TRANSFER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER = FormatString("Complete URB_FUNCTION_CONTROL_TRANSFER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_DATA = FormatString("Complete URB_FUNCTION_CONTROL_TRANSFER with data - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP_AND_DATA fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CONTROL_TRANSFER_EX = FormatString("Dispatch URB_FUNCTION_CONTROL_TRANSFER_EX - %s", fid_UCX_URB_CONTROL_TRANSFER_EX.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER_EX; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX = FormatString("Complete URB_FUNCTION_CONTROL_TRANSFER_EX - %s", fid_UCX_URB_CONTROL_TRANSFER_EX.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER_EX; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX_DATA = FormatString("Complete URB_FUNCTION_CONTROL_TRANSFER_EX with data - %s", fid_UCX_URB_CONTROL_TRANSFER_EX.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP_AND_DATA fid_UCX_URB_CONTROL_TRANSFER_EX; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER = FormatString("Dispatch URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_BULK_OR_INTERRUPT_TRANSFER; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER = FormatString("Complete URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_BULK_OR_INTERRUPT_TRANSFER; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_PARTIAL_DATA = FormatString("Complete URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER with partial data") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_BULK_OR_INTERRUPT_TRANSFER; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; UINT16 fid_URB_TransferDataLength; UINT8 fid_URB_TransferData[fid_URB_TransferDataLength]; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_FULL_DATA = FormatString("Complete URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER with full data") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_BULK_OR_INTERRUPT_TRANSFER; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; UINT16 fid_URB_TransferDataLength; UINT8 fid_URB_TransferData[fid_URB_TransferDataLength]; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_ISOCH_TRANSFER = FormatString("Dispatch URB_FUNCTION_ISOCH_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB Urb; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER = FormatString("Complete URB_FUNCTION_ISOCH_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB Urb; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_PARTIAL_DATA = FormatString("Complete URB_FUNCTION_ISOCH_TRANSFER with partial data") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB Urb; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; UINT16 fid_URB_TransferDataLength; UINT8 fid_URB_TransferData[fid_URB_TransferDataLength]; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_ISOCH_TRANSFER_FULL_DATA = FormatString("Complete URB_FUNCTION_ISOCH_TRANSFER with full data") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB Urb; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; UINT16 fid_URB_TransferDataLength; UINT8 fid_URB_TransferData[fid_URB_TransferDataLength]; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE = FormatString("Dispatch URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE = FormatString("Dispatch URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT = FormatString("Dispatch URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE = FormatString("Dispatch URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE = FormatString("Dispatch URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT = FormatString("Dispatch URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_DEVICE = FormatString("Dispatch URB_FUNCTION_SET_FEATURE_TO_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_INTERFACE = FormatString("Dispatch URB_FUNCTION_SET_FEATURE_TO_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_ENDPOINT = FormatString("Dispatch URB_FUNCTION_SET_FEATURE_TO_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SET_FEATURE_TO_OTHER = FormatString("Dispatch URB_FUNCTION_SET_FEATURE_TO_OTHER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE = FormatString("Dispatch URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE = FormatString("Dispatch URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT = FormatString("Dispatch URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLEAR_FEATURE_TO_OTHER = FormatString("Dispatch URB_FUNCTION_CLEAR_FEATURE_TO_OTHER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_DEVICE = FormatString("Dispatch URB_FUNCTION_GET_STATUS_FROM_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_INTERFACE = FormatString("Dispatch URB_FUNCTION_GET_STATUS_FROM_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_ENDPOINT = FormatString("Dispatch URB_FUNCTION_GET_STATUS_FROM_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_STATUS_FROM_OTHER = FormatString("Dispatch URB_FUNCTION_GET_STATUS_FROM_OTHER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_DEVICE = FormatString("Dispatch URB_FUNCTION_CLASS_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_INTERFACE = FormatString("Dispatch URB_FUNCTION_CLASS_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_ENDPOINT = FormatString("Dispatch URB_FUNCTION_CLASS_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_CLASS_OTHER = FormatString("Dispatch URB_FUNCTION_CLASS_OTHER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_DEVICE = FormatString("Dispatch URB_FUNCTION_VENDOR_DEVICE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_INTERFACE = FormatString("Dispatch URB_FUNCTION_VENDOR_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_ENDPOINT = FormatString("Dispatch URB_FUNCTION_VENDOR_ENDPOINT - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_VENDOR_OTHER = FormatString("Dispatch URB_FUNCTION_VENDOR_OTHER - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_CONFIGURATION = FormatString("Dispatch URB_FUNCTION_GET_CONFIGURATION - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_INTERFACE = FormatString("Dispatch URB_FUNCTION_GET_INTERFACE - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDeivce; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR = FormatString("Dispatch URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR - %s", fid_UCX_URB_CONTROL_TRANSFER.Urb.SetupPacket.ToString) { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; CONTROL_TRANSFER_URB_SETUP fid_UCX_URB_CONTROL_TRANSFER; } Struct UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_TRANSITION = FormatString("Endpoint State Machine Transition <%s> %s", UcxEndpointEvent(fid_Event), UcxEndpointState(fid_State)) { UsbEndpointPtr fid_Endpoint; EtlPtr fid_URB_PipeHandle; UINT32 fid_Event; UINT32 fid_State; } Struct UCX_ETW_EVENT_UCX_ENDPOINT_STATE_MACHINE_EVENT = FormatString("Endpoint State Machine Event <%s>", UcxEndpointEvent(fid_Event)) { UsbEndpointPtr fid_Endpoint; EtlPtr fid_URB_PipeHandle; UINT32 fid_Event; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_TRANSITION = FormatString("Rundown Endpoint State Machine Transition <%s> %s", UcxEndpointEvent(fid_Event), UcxEndpointState(fid_State)) { UsbEndpointPtr fid_Endpoint; EtlPtr fid_URB_PipeHandle; UINT32 fid_Event; UINT32 fid_State; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_ENDPOINT_STATE_MACHINE_EVENT = FormatString("Rundown Endpoint State Machine Event <%s>", UcxEndpointEvent(fid_Event)) { UsbEndpointPtr fid_Endpoint; EtlPtr fid_URB_PipeHandle; UINT32 fid_Event; } Struct UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_TRANSITION = FormatString("Controller State Machine Transition <%s> %s", ControllerResetEvent(fid_Event), ControllerResetState(fid_State)) { UcxControllerPtr fid_UcxController; EtlPtr fid_SmEngineContext; UINT32 fid_Event; UINT32 fid_State; } Struct UCX_ETW_EVENT_UCX_CONTROLLER_STATE_MACHINE_EVENT = FormatString("Controller State Machine Event <%s>", ControllerResetEvent(fid_Event)) { UcxControllerPtr fid_UcxController; EtlPtr fid_SmEngineContext; UINT32 fid_Event; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_TRANSITION = FormatString("Rundown Controller State Machine Transition <%s> %s", ControllerResetEvent(fid_Event), ControllerResetState(fid_State)) { UcxControllerPtr fid_UcxController; EtlPtr fid_SmEngineContext; UINT32 fid_Event; UINT32 fid_State; } Struct UCX_ETW_EVENT_RUNDOWN_UCX_CONTROLLER_STATE_MACHINE_EVENT = FormatString("Rundown Controller State Machine Event <%s>", ControllerResetEvent(fid_Event)) { UcxControllerPtr fid_UcxController; EtlPtr fid_SmEngineContext; UINT32 fid_Event; } Struct UCX_ETW_EVENT_UCX_ROOTHUB_INITIATING_WAKE = FormatString("UCX RootHub Initiating Wake") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UnicodeString fid_DeviceInterfacePath; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER = FormatString("Dispatch URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_SECURE_BULK_OR_INTERRUPT_TRANSFER; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER = FormatString("Complete URB_FUNCTION_SECURE_BULK_OR_INTERRUPT_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; URB fid_UCX_URB_SECURE_BULK_OR_INTERRUPT_TRANSFER; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; } Struct UCX_ETW_EVENT_DISPATCH_URB_FUNCTION_SECURE_ISOCH_TRANSFER = FormatString("Dispatch URB_FUNCTION_SECURE_ISOCH_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB fid_UCX_URB_SECURE_ISOCH_TRANSFER; } [Property.InternalUsbIsUrbCompletion = 1] Struct UCX_ETW_EVENT_COMPLETE_URB_FUNCTION_SECURE_ISOCH_TRANSFER = FormatString("Complete URB_FUNCTION_SECURE_ISOCH_TRANSFER") { UcxControllerPtr fid_UcxController; UsbDevicePtr fid_UsbDevice; UsbPipeHandle fid_PipeHandle; EtlPtr fid_IRP_Ptr; UsbUrbPtr fid_URB_Ptr; UINT16 fid_UCX_URB_NumberOfPackets; URB fid_UCX_URB_SECURE_ISOCH_TRANSFER; [Property.USBNtStatus = this.ToString] NTSTATUS fid_IRP_NtStatus; } // Array Struct struct fid_UCX_URB_ISO_PACKETS = FormatString( "%s %d", fid_URB_Packet_Status != 0 ? fid_URB_Packet_Status.ToString : "", fid_URB_Packet_Length) { UINT32 fid_URB_Packet_Offset; UINT32 fid_URB_Packet_Length; UINT32 fid_URB_Packet_Status = UsbdStatusTable(this); } [RegisterBefore(EventDescriptor.DefaultKeyword, MicrosoftWindowsUSBUCX_Keyword, "{36da592d-e43a-4e28-af6f-4bc57c5a11e8}")] struct MicrosoftWindowsUSBUCX_Keyword { UINT64 Default:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_DEFAULT":""); UINT64 USBError:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_USBERROR":""); UINT64 IRP:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_IRP":""); UINT64 Power:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_POWER":""); UINT64 PnP:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_PNP":""); UINT64 Performance:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_PERFORMANCE":""); UINT64 HeadersBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_HEADERS_BUS_TRACE":""); UINT64 PartialDataBusTrace:1 = FormatString("(%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_PARTIAL_DATA_BUS_TRACE":""); UINT64 FullDataBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_FULL_DATA_BUS_TRACE":""); UINT64 StateMachine:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_STATEMACHINE":""); UINT64 Enumeration:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_ENUMERATION":""); UINT64 VerifyDriver:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_VERIFYDRIVER":""); UINT64 HWVerifyHost:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_HW_VERIFYHOST":""); UINT64 HWVerifyHub:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_HW_VERIFYHUB":""); UINT64 HWVerifyDevice:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_HW_VERIFYDEVICE":""); UINT64 Rundown:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_RUNDOWN":""); UINT64 Device:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_DEVICE":""); UINT64 Hub:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_HUB":""); UINT64 Compat:1 = FormatString(" (%s) %s", this.ToBitString, this? "UCX_ETW_KEYWORD_COMPAT":""); UINT64 ControllerCommand:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_CONTROLLER_COMMAND":""); UINT64 Reserved1:44 = FormatString(" (%s)", this.ToBitString); } //# (c) 2009 Microsoft Corporation //# //# Title: Microsoft-Windows-usbhub3 //# //# Details: //# //# Public References: usbhub3.man //# //# Comments: //# //# Revision Class and Date:Minor, 6/6/2011 //# //#### [RegisterBefore(NetEvent.UserData, UsbHub3, "{AC52AD17-CC01-4F85-8DF5-4DCE4333C99B}")] Protocol UsbHub3 = property.ETLSummary { [BuildConversationWithParent, conversation.ConversationDescription = ""] [Post.Property.USBIsError = (( (NetEvent.Header.Descriptor.Level == 0x2) OR (Property.USBDStatus != "success" && Property.USBDStatus != "" && Property.USBDStatus != "canceled" && Property.USBDStatus != "pending") OR (Property.USBNtStatus != "success" && Property.USBNtStatus != "Success" && Property.USBNtStatus != "" && Property.USBNtStatus != "0xC0000120 - STATUS_CANCELLED") ) ? 1 : 0)] switch(property.EventID) { case 1: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_START USBHUB3_ETW_EVENT_RUNDOWN_START; case 2: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_COMPLETE USBHUB3_ETW_EVENT_RUNDOWN_COMPLETE; case 3: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_USB30_HUB_INFORMATION USBHUB3_ETW_EVENT_RUNDOWN_USB30_HUB_INFORMATION; case 4: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_USB20_HUB_INFORMATION USBHUB3_ETW_EVENT_RUNDOWN_USB20_HUB_INFORMATION; case 5: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_ROOT_HUB_INFORMATION USBHUB3_ETW_EVENT_RUNDOWN_ROOT_HUB_INFORMATION; case 6: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1 USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2 USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2; } case 7: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_20_PORT USBHUB3_ETW_EVENT_RUNDOWN_20_PORT; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V1 USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V2 USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V2; } case 8: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_30_PORT USBHUB3_ETW_EVENT_RUNDOWN_30_PORT; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V1 USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V2 USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V2; } case 9: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC_V1 USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC_V1; } case 10: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_ACPI_PLD USBHUB3_ETW_EVENT_RUNDOWN_ACPI_PLD; case 11: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_RUNDOWN_ACPI_DSD_USB4 USBHUB3_ETW_EVENT_RUNDOWN_ACPI_DSD_USB4; case 20: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_START USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_START; case 21: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_COMPLETE USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_COMPLETE; case 22: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB30_HUB_INFORMATION USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB30_HUB_INFORMATION; case 23: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB20_HUB_INFORMATION USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB20_HUB_INFORMATION; case 24: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ROOT_HUB_INFORMATION USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ROOT_HUB_INFORMATION; case 25: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V1 USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V2 USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V2; } case 26: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V1 USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V2 USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V2; } case 27: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC; case 10: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC_V1 USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC_V1; } case 28: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_PLD USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_PLD; case 29: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_START USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_START; case 30: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_COMPLETE USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_COMPLETE; case 31: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_START USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_START; case 32: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_COMPLETE USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_COMPLETE; case 33: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_D0_ENTRY_START USBHUB3_ETW_EVENT_HUB_D0_ENTRY_START; case 34: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_D0_ENTRY_COMPLETE USBHUB3_ETW_EVENT_HUB_D0_ENTRY_COMPLETE; case 35: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_D0_EXIT_START USBHUB3_ETW_EVENT_HUB_D0_EXIT_START; case 36: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_D0_EXIT_COMPLETE USBHUB3_ETW_EVENT_HUB_D0_EXIT_COMPLETE; case 37: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_START USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_START; case 38: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_COMPLETE USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_COMPLETE; case 39: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_CLEANUP_START USBHUB3_ETW_EVENT_HUB_CLEANUP_START; case 40: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_CLEANUP_COMPLETE USBHUB3_ETW_EVENT_HUB_CLEANUP_COMPLETE; case 41: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_START USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_START; case 42: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_COMPLETE USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_COMPLETE; case 43: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V1 USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V1; case 2: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V2 USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V2; } case 44: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_NESTED_TOO_DEEP USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_NESTED_TOO_DEEP; case 45: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_UNKNOWN_HUB_TYPE USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_UNKNOWN_HUB_TYPE; case 47: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_START USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_START; case 48: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_COMPLETE USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_COMPLETE; case 49: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_START USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_START; case 50: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_COMPLETE USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_COMPLETE; case 51: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_START USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_START; case 52: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_COMPLETE USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_COMPLETE; case 53: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_START USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_START; case 54: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_COMPLETE USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_COMPLETE; case 55: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_START USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_START; case 56: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_COMPLETE USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_COMPLETE; case 57: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_CLEANUP_START USBHUB3_ETW_EVENT_DEVICE_CLEANUP_START; case 58: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_CLEANUP_COMPLETE USBHUB3_ETW_EVENT_DEVICE_CLEANUP_COMPLETE; case 60: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_START USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_START; case 61: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_COMPLETE USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_COMPLETE; case 62: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RETRY USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RETRY; case 63: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_MAXIMUM_RETRY_COUNT_REACHED USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_MAXIMUM_RETRY_COUNT_REACHED; case 64: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILED USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILED; case 65: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RESET_TIMEOUT USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RESET_TIMEOUT; case 66: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_WAS_RESET_ON_RESUME USBHUB3_ETW_EVENT_HUB_WAS_RESET_ON_RESUME; case 70: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR_HEADER USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR_HEADER; case 71: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR; case 72: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR_HEADER USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR_HEADER; case 73: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR; case 74: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_CONFIGURATION_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_CONFIGURATION_DESCRIPTOR; case 75: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_DEVICE_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_DEVICE_DESCRIPTOR; case 76: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_DEVICE_QUALIFIER_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_DEVICE_QUALIFIER_DESCRIPTOR; case 77: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_LANGUAGE_ID_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_LANGUAGE_ID_DESCRIPTOR; case 78: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR_HEADER USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR_HEADER; case 79: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR; case 80: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_MSOS_DESCRIPTOR; case 81: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR_HEADER USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR_HEADER; case 82: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR; case 83: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_PRODUCT_ID_STRING_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_PRODUCT_ID_STRING_DESCRIPTOR; case 84: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_SERIAL_NUMBER_STRING_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_SERIAL_NUMBER_STRING_DESCRIPTOR; case 85: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_MSOS20_DESCRIPTOR_SET USBHUB3_ETW_EVENT_INVALID_MSOS20_DESCRIPTOR_SET; case 90: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_START USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_START; case 91: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_COMPLETE USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_COMPLETE; case 92: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_URB_START USBHUB3_ETW_EVENT_DEVICE_URB_START; case 93: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_URB_COMPLETE USBHUB3_ETW_EVENT_DEVICE_URB_COMPLETE; case 94: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_HEADER_LENGTH_WARNING USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_HEADER_LENGTH_WARNING; case 95: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_FUNCTION USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_FUNCTION; case 96: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_START USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_START; case 97: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_COMPLETE USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_COMPLETE; case 98: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_IDLE_CALLBACK USBHUB3_ETW_EVENT_DEVICE_IDLE_CALLBACK; case 100: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_20_PORT_STATUS USBHUB3_ETW_EVENT_20_PORT_STATUS; case 101: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_30_PORT_STATUS USBHUB3_ETW_EVENT_30_PORT_STATUS; case 102: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PORT_ACPI_UPC_FAILURE USBHUB3_ETW_EVENT_HUB_PORT_ACPI_UPC_FAILURE; case 103: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_PORT_ACPI_PLD_FAILURE USBHUB3_ETW_EVENT_HUB_PORT_ACPI_PLD_FAILURE; case 110: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_STATE_MACHINE USBHUB3_ETW_EVENT_STATE_MACHINE; case 111: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_UNHANDLED_STATE_MACHINE_EVENT USBHUB3_ETW_EVENT_UNHANDLED_STATE_MACHINE_EVENT; case 120: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_START USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_START; case 121: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_COMPLETE USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_COMPLETE; case 122: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_RESET_DUE_TO_PORT_ERROR USBHUB3_ETW_EVENT_HUB_RESET_DUE_TO_PORT_ERROR; case 123: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_PORT_STATUS_ERROR USBHUB3_ETW_EVENT_PORT_STATUS_ERROR; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_PORT_STATUS_ERROR_V1 USBHUB3_ETW_EVENT_PORT_STATUS_ERROR_V1; } case 130: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_CONTROL_TRANSFER_ERROR USBHUB3_ETW_EVENT_HUB_CONTROL_TRANSFER_ERROR; case 131: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_PORT_CONTROL_TRANSFER_ERROR USBHUB3_ETW_EVENT_PORT_CONTROL_TRANSFER_ERROR; case 132: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_CONTROL_TRANSFER_ERROR USBHUB3_ETW_EVENT_DEVICE_CONTROL_TRANSFER_ERROR; case 133: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_PORT_INTERRUPT_TRANSFER_ERROR USBHUB3_ETW_EVENT_PORT_INTERRUPT_TRANSFER_ERROR; case 134: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_SELECTIVE_SUSPEND_NOT_SUPPORTED USBHUB3_ETW_EVENT_HUB_SELECTIVE_SUSPEND_NOT_SUPPORTED; case 140: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_INFORMATION_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_INFORMATION_COMPLETE; case 141: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME_COMPLETE; case 142: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_COMPLETE; case 143: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_COMPLETE; case 144: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES_COMPLETE; case 145: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_NAME_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_NAME_COMPLETE; case 146: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_START USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_START; case 147: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_COMPLETE; case 148: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_COMPLETE; case 149: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_EX_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_EX_COMPLETE; case 150: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_START USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_START; case 151: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_COMPLETE; case 152: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_RESET_HUB_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_RESET_HUB_COMPLETE; case 153: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_UNSUPPORTED_IOCTL_COMPLETE USBHUB3_ETW_EVENT_HUB_UNSUPPORTED_IOCTL_COMPLETE; case 154: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES_COMPLETE; case 155: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_INFORMATION_EX_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_INFORMATION_EX_COMPLETE; case 156: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2_COMPLETE; case 157: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_UCX_IOCTL_FAILURE USBHUB3_ETW_EVENT_UCX_IOCTL_FAILURE; case 160: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_DEVICE_DESCRIPTOR_FAILURE; case 161: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SET_ADDRESS_FAILURE USBHUB3_ETW_EVENT_SET_ADDRESS_FAILURE; case 162: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_CONFIG_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_CONFIG_DESCRIPTOR_FAILURE; case 163: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SET_SEL_FAILURE USBHUB3_ETW_EVENT_SET_SEL_FAILURE; case 164: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_BOS_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_BOS_DESCRIPTOR_FAILURE; case 165: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_QUALIFIER_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_DEVICE_QUALIFIER_DESCRIPTOR_FAILURE; case 166: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SERIAL_NUMBER_STRING_FAILURE USBHUB3_ETW_EVENT_SERIAL_NUMBER_STRING_FAILURE; case 167: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_PRODUCT_ID_STRING_FAILURE USBHUB3_ETW_EVENT_PRODUCT_ID_STRING_FAILURE; case 168: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_MS_EXT_CONFIG_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_MS_EXT_CONFIG_DESCRIPTOR_FAILURE; case 169: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_MS_CONTAINER_ID_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_MS_CONTAINER_ID_DESCRIPTOR_FAILURE; case 170: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SET_ISOCH_DELAY_FAILURE USBHUB3_ETW_EVENT_SET_ISOCH_DELAY_FAILURE; case 171: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_LANGUAGE_ID_STRING_FAILURE USBHUB3_ETW_EVENT_LANGUAGE_ID_STRING_FAILURE; case 172: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_REGISTRY_FAILURE USBHUB3_ETW_EVENT_REGISTRY_FAILURE; case 173: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SSDEVICE_CONNECTED_AT_LS USBHUB3_ETW_EVENT_SSDEVICE_CONNECTED_AT_LS; case 174: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_TOO_MANY_RESETS USBHUB3_ETW_EVENT_HUB_TOO_MANY_RESETS; case 175: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INTERFACE_WAKE_CAPABILITY_MISMATCH USBHUB3_ETW_EVENT_INTERFACE_WAKE_CAPABILITY_MISMATCH; case 176: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_FAILURE USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_FAILURE; case 177: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_BUS_RENUMERATION USBHUB3_ETW_EVENT_BUS_RENUMERATION; case 178: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_USBENUM_SERIAL_MISMATCH_ON_RENUMERATION USBHUB3_ETW_EVENT_USBENUM_SERIAL_MISMATCH_ON_RENUMERATION; case 179: Switch(property.EventVersion) { case 0: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION; case 1: [property.ETLSummary = this.ToString]USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION_V1 USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION_V1; } case 180: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_QUERY_USB_CAPABILITY USBHUB3_ETW_EVENT_DEVICE_QUERY_USB_CAPABILITY; case 181: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_MSOS20_DESCRIPTOR_FAILURE USBHUB3_ETW_EVENT_MSOS20_DESCRIPTOR_FAILURE; case 182: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_MSOS20_SET_ALT_ENUMERATION_FAILURE USBHUB3_ETW_EVENT_MSOS20_SET_ALT_ENUMERATION_FAILURE; case 183: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SET_U1_ENABLE_FAILURE USBHUB3_ETW_EVENT_SET_U1_ENABLE_FAILURE; case 184: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_SET_U2_ENABLE_FAILURE USBHUB3_ETW_EVENT_SET_U2_ENABLE_FAILURE; case 185: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_WARNING USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_WARNING; case 186: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_BILLBOARD USBHUB3_ETW_EVENT_BILLBOARD; case 187: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_ALTERNATE_MODE_FAILED USBHUB3_ETW_EVENT_ALTERNATE_MODE_FAILED; case 188: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_ALTERNATE_MODE_ENTERED USBHUB3_ETW_EVENT_ALTERNATE_MODE_ENTERED; case 189: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_BILLBOARD_STRING_FAILURE USBHUB3_ETW_EVENT_BILLBOARD_STRING_FAILURE; case 190: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_ALTERNATE_MODE_STRING_FAILURE USBHUB3_ETW_EVENT_ALTERNATE_MODE_STRING_FAILURE; case 191: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_BILLBOARD_STRING_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_BILLBOARD_STRING_DESCRIPTOR; case 192: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_INVALID_ALTERNATE_MODE_STRING_DESCRIPTOR USBHUB3_ETW_EVENT_INVALID_ALTERNATE_MODE_STRING_DESCRIPTOR; case 194: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE; case 195: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_INFO USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_INFO; case 196: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_WARNING USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_WARNING; case 197: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILURE USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILURE; case 198: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_ILLEGAL_ENDPOINT_SHARING_ACROSS_INTERFACES USBHUB3_ETW_EVENT_ILLEGAL_ENDPOINT_SHARING_ACROSS_INTERFACES; case 205: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_DEVICE_REENUMERATIONCALLBACK_PUBLISH_INFO USBHUB3_ETW_EVENT_DEVICE_REENUMERATIONCALLBACK_PUBLISH_INFO; case 206: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_OPENED_USB4_REMOTE_TARGET USBHUB3_ETW_EVENT_HUB_OPENED_USB4_REMOTE_TARGET; case 207: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_ADDED_COMPONENT_RELATION USBHUB3_ETW_EVENT_HUB_ADDED_COMPONENT_RELATION; case 208: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_ADD_COMPONENT_RELATION_FAILURE USBHUB3_ETW_EVENT_HUB_ADD_COMPONENT_RELATION_FAILURE; case 209: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_REMOVED_COMPONENT_RELATION USBHUB3_ETW_EVENT_HUB_REMOVED_COMPONENT_RELATION; case 210: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_REMOVE_COMPONENT_RELATION_FAILURE USBHUB3_ETW_EVENT_HUB_REMOVE_COMPONENT_RELATION_FAILURE; case 212: [property.ETLSummary = this.ToString] USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION_COMPLETE USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION_COMPLETE; default: [property.ETLSummary = "Not exist EventID"]struct{}; } } Table MapControllerParentBusType(value) { switch(value) { case 1: "ControllerParentBusTypePci"; case 2: "ControllerParentBusTypeAcpi"; case 3: "ControllerParentBusTypeMaUsb"; default: FormatString("Unknown value: %d", value); } } Table MapDripsWatchdogResult(value) { switch(value) { case 0: "SurpriseRemovalInitiated"; case 1: "SkippedAsDeviceIsAHub"; case 2: "SkippedAsCouldNotReadSettings"; case 3: "SkippedAsDisabledInSettingsPanel"; case 4: "SkippedAsHackflagSet"; case 5: "SkippedAsRecentIoObservered"; case 6: "SkippedAsAlreadyMarkedForRemoval (Device vetoed previous attempt)"; case 7: "SkippedAsUnableToRegisterIrCallback"; case 8: "SkippedAsIoRequestDeviceRemovalForResetFailed"; case 9: "SkippedAsAcquireRemoveLockFailed"; case 10: "SkippedAsWorkItemCreateFailed"; case 255: "UnknownState"; default: FormatString("Unknown value: %d", value); } } Struct USBHUB3_ETW_EVENT_RUNDOWN_START = "Start Rundown" {}; // Empty Struct Struct USBHUB3_ETW_EVENT_RUNDOWN_COMPLETE = "Complete Rundown" {}; // Empty Struct Struct USBHUB3_ETW_EVENT_RUNDOWN_USB30_HUB_INFORMATION = FormatString("USB 3.0 Hub Information") { UsbDevicePtr fid_UsbDevice; struct fid_USB30_HubDescriptor { UINT8 fid_bDescriptorLength; UINT8 fid_bDescriptorType; UINT8 fid_bNumberOfPorts; UINT16 fid_wHubCharacteristics; UINT8 fid_bPowerOnToGood; UINT8 fid_bHubControlCurrent; UINT8 fid_bHubHdrDecLat; UINT16 fid_wHubDelay; UINT16 fid_DeviceRemovable; } UINT32 fid_CurrentWdfPowerDeviceState; } Struct USBHUB3_ETW_EVENT_RUNDOWN_USB20_HUB_INFORMATION = FormatString("USB 2.0/1.1 Hub Information") { UsbDevicePtr fid_UsbDevice; struct fid_USB20_HubDescriptor { UINT8 fid_bDescriptorLength; UINT8 fid_bDescriptorType; UINT8 fid_bNumberOfPorts; UINT16 fid_wHubCharacteristics; UINT8 fid_bPowerOnToGood; UINT8 fid_bHubControlCurrent; UINT8 fid_bRemoveAndPowerMask[64]; } UINT32 fid_CurrentWdfPowerDeviceState; } [Post.Global.InternalUsbTblPortPath$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblVid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblPid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr] = "[RH]"] Struct USBHUB3_ETW_EVENT_RUNDOWN_ROOT_HUB_INFORMATION = FormatString("USB Root Hub Information") { UsbDevicePtr fid_UsbDevice; UINT32 fid_CurrentWdfPowerDeviceState; } Struct USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION = FormatString("USB Device Information") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); } Struct USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V1 = FormatString("USB Device Information") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; } Struct USBHUB3_ETW_EVENT_RUNDOWN_DEVICE_INFORMATION_V2 = FormatString("USB Device Information") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; BOOL fid_GetFirmwareImageHashSupport; BOOL fid_DisallowFirmwareUpdateSupport; NTSTATUS fid_GetFirmwareHashNtStatus; USBD_STATUS fid_UsbdStatus; } Struct USBHUB3_ETW_EVENT_RUNDOWN_20_PORT = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V1 = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_RUNDOWN_20_PORT_V2 = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT8 fid_UsbCPortCapabilitiesValid; UINT8 fid_Usb4Supported; UINT8 fid_PcieTunnelingSupported; UINT8 fid_Tbt3AltModeSupported; UINT8 fid_DpAltModeSupported; UINT8 fid_RetimerCount; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_RUNDOWN_30_PORT = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V1 = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_RUNDOWN_30_PORT_V2 = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT8 fid_UsbCPortCapabilitiesValid; UINT8 fid_Usb4Supported; UINT8 fid_PcieTunnelingSupported; UINT8 fid_Tbt3AltModeSupported; UINT8 fid_DpAltModeSupported; UINT8 fid_RetimerCount; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC = FormatString("ACPI _UPC Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; struct fid_USBHUB_Acpi_Upc_Package { UINT8 fid_PortIsConnectable; UINT8 fid_PortConnectorType; UINT32 fid_Reserved0; UINT32 fid_Reserved1; } } Struct USBHUB3_ETW_EVENT_RUNDOWN_ACPI_UPC_V1 = FormatString("ACPI _UPC Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_UsbCPortCapabilitiesValid; struct fid_USBHUB_Acpi_Upc_Package { UINT8 fid_PortIsConnectable; UINT8 fid_PortConnectorType; UINT16 fid_Reserved0; UINT32 fid_UsbCPortCapabilities; UINT32 fid_Reserved1; } } Struct USBHUB3_ETW_EVENT_RUNDOWN_ACPI_PLD = FormatString("ACPI _PLD Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; struct fid_USBHUB_Acpi_Pld { UINT64 fid_PortPath[2]; } } Struct USBHUB3_ETW_EVENT_RUNDOWN_ACPI_DSD_USB4 = FormatString("ACPI USB4 _DSD Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UnicodeString fid_DsdUsb4String; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_START = FormatString("Start of EvtDevicePrepareHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_COMPLETE = FormatString("Complete EvtDevicePrepareHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB30_HUB_INFORMATION = FormatString("USB 3.0 Hub Information") { UsbDevicePtr fid_UsbDevice; struct fid_USB30_HubDescriptor { UINT8 fid_bDescriptorLength; UINT8 fid_bDescriptorType; UINT8 fid_bNumberOfPorts; UINT16 fid_wHubCharacteristics; UINT8 fid_bPowerOnToGood; UINT8 fid_bHubControlCurrent; UINT8 fid_bHubHdrDecLat; UINT16 fid_wHubDelay; UINT16 fid_DeviceRemovable; } UINT32 fid_CurrentWdfPowerDeviceState; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_USB20_HUB_INFORMATION = FormatString("USB 2.0/1.1 Hub Information") { UsbDevicePtr fid_UsbDevice; struct fid_USB20_HubDescriptor { UINT8 fid_bDescriptorLength; UINT8 fid_bDescriptorType; UINT8 fid_bNumberOfPorts; UINT16 fid_wHubCharacteristics; UINT8 fid_bPowerOnToGood; UINT8 fid_bHubControlCurrent; UINT8 fid_bRemoveAndPowerMask[64]; } UINT32 fid_CurrentWdfPowerDeviceState; } [Post.Global.InternalUsbTblPortPath$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr] = "[-]"] [Post.Global.InternalUsbTblVid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblPid$[Property.USBDevicePtr] = "[RH]"] [Post.Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr] = "[RH]"] Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ROOT_HUB_INFORMATION = FormatString("USB Root Hub Information") { UsbDevicePtr fid_UsbDevice; UINT32 fid_CurrentWdfPowerDeviceState; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V1 = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_20_PORT_V2 = FormatString("USB 2.0/1.1 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT8 fid_UsbCPortCapabilitiesValid; UINT8 fid_Usb4Supported; UINT8 fid_PcieTunnelingSupported; UINT8 fid_Tbt3AltModeSupported; UINT8 fid_DpAltModeSupported; UINT8 fid_RetimerCount; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V1 = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_30_PORT_V2 = FormatString("USB 3.0 Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT8 fid_UsbCPortCapabilitiesValid; UINT8 fid_Usb4Supported; UINT8 fid_PcieTunnelingSupported; UINT8 fid_Tbt3AltModeSupported; UINT8 fid_DpAltModeSupported; UINT8 fid_RetimerCount; UINT64 fid_UcmConnectorId; UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC = FormatString("ACPI _UPC Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; struct fid_USBHUB_Acpi_Upc_Package { UINT8 fid_PortIsConnectable; UINT8 fid_PortConnectorType; UINT32 fid_Reserved0; UINT32 fid_Reserved1; } } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_UPC_V1 = FormatString("ACPI _UPC Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT8 fid_UsbCPortCapabilitiesValid; struct fid_USBHUB_Acpi_Upc_Package { UINT8 fid_PortIsConnectable; UINT8 fid_PortConnectorType; UINT16 fid_Reserved0; UINT32 fid_UsbCPortCapabilities; UINT32 fid_Reserved1; } } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_ACPI_PLD = FormatString("ACPI _PLD Package for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; struct fid_USBHUB_Acpi_Pld { UINT64 fid_PortPath[2]; } } Struct USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_START = "Start of EvtDeviceAdd for USB Hub" {}; // Empty Struct Struct USBHUB3_ETW_EVENT_HUB_ADD_DEVICE_COMPLETE = FormatString("Complete EvtDeviceAdd for USB Hub") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_START = FormatString("Start of EvtDeviceReleaseHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_RELEASE_HARDWARE_COMPLETE = FormatString("Complete EvtDeviceReleaseHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_D0_ENTRY_START = FormatString("Start of EvtDeviceD0Entry for USB Hub") { UsbDevicePtr fid_UsbDevice; UINT32 fid_TargetState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBHUB3_ETW_EVENT_HUB_D0_ENTRY_COMPLETE = FormatString("Complete EvtDeviceD0Entry for USB Hub") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_PowerAction; } Struct USBHUB3_ETW_EVENT_HUB_D0_EXIT_START = FormatString("Start of EvtDeviceD0Exit for USB Hub") { UsbDevicePtr fid_UsbDevice; UINT32 fid_TargetState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBHUB3_ETW_EVENT_HUB_D0_EXIT_COMPLETE = FormatString("Complete EvtDeviceD0Exit for USB Hub") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_PowerAction = PowerActionString(this); } Struct USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_START = FormatString("Start of EvtDeviceReleaseHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_SURPRISE_REMOVAL_COMPLETE = FormatString("Complete EvtDeviceReleaseHardware for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_CLEANUP_START = FormatString("Start of EvtDeviceCleanup for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_CLEANUP_COMPLETE = FormatString("Complete EvtDeviceCleanup for USB Hub") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_START = FormatString("Start of EvtDevicePrepareHardware for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_COMPLETE = FormatString("Complete EvtDevicePrepareHardware for USB Device") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION = FormatString("USB Device Information") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength = this] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V1 = FormatString("USB Device Information v1") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength = this] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_DEVICE_INFORMATION_V2 = FormatString("USB Device Information v2") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; InternalUsbTblDeviceDescription fid_DeviceDescription; UnicodeString fid_DeviceInterfacePath; USB_DEVICE_DESCRIPTOR fid_DeviceDescriptor; [Property.InternalUsbDescriptorLength = this] UINT16 fid_ConfigurationDescriptorLength; USB_DESCRIPTORS ConfigurationDescriptor; UnicodeString fid_PdoName; UINT8 fid_Suspended; UINT32 fid_PortPathDepth; UINT32 fid_PortPath[6]; UINT32 fid_PciBus; UINT32 fid_PciDevice; UINT32 fid_PciFunction; UINT32 fid_PciVendorId; UINT32 fid_PciDeviceId; UINT32 fid_PciRevisionId; UINT32 fid_CurrentWdfPowerDeviceState; UINT32 fid_Usb20LpmStatus = Usb20LpmStatus(this); UINT32 fid_ControllerParentBusType = MapControllerParentBusType(this); AsciiString fid_AcpiVendorId; AsciiString fid_AcpiDeviceId; AsciiString fid_AcpiRevisionId; UINT8 fid_PortFlagAcpiUpcValid; UINT8 fid_PortConnectorType; UINT64 fid_UcmConnectorId; BOOL fid_GetFirmwareImageHashSupport; BOOL fid_DisallowFirmwareUpdateSupport; NTSTATUS fid_GetFirmwareHashNtStatus; USBD_STATUS fid_UsbdStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_PREPARE_HARDWARE_NESTED_TOO_DEEP = FormatString("USB Hub Nested Too Deeply") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_PREPARE_HARDWARE_UNKNOWN_HUB_TYPE = FormatString("Unknown USB Hub Type") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_START = "Start of EvtDeviceAdd for USB Device" {}; // Empty Struct Struct USBHUB3_ETW_EVENT_DEVICE_ADD_DEVICE_COMPLETE = FormatString("Complete EvtDeviceAdd for USB Device") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_START = FormatString("Start of EvtDeviceReleaseHardware for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_RELEASE_HARDWARE_COMPLETE = FormatString("Complete EvtDeviceReleaseHardware for USB Device") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_START = FormatString("Start of EvtDeviceD0Entry for USB Device") { UsbDevicePtr fid_UsbDevice; UINT32 fid_TargetState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBHUB3_ETW_EVENT_DEVICE_D0_ENTRY_COMPLETE = FormatString("Complete EvtDeviceD0Entry for USB Device") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_PowerAction = PowerActionString(this); } Struct USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_START = FormatString("Start of EvtDeviceD0Exit for USB Device") { UsbDevicePtr fid_UsbDevice; UINT32 fid_TargetState; UINT32 fid_PowerAction = PowerActionString(this); UINT16 fid_WaitWakePending; } Struct USBHUB3_ETW_EVENT_DEVICE_D0_EXIT_COMPLETE = FormatString("Complete EvtDeviceD0Exit for USB Device") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; UINT32 fid_PowerAction = PowerActionString(this); } Struct USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_START = FormatString("Start of EvtDeviceReleaseHardware for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_SURPRISE_REMOVAL_COMPLETE = FormatString("Complete EvtDeviceReleaseHardware for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_CLEANUP_START = FormatString("Start of EvtDeviceCleanup for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_CLEANUP_COMPLETE = FormatString("Complete EvtDeviceCleanup for USB Device") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_START = FormatString("Start of USB Device Enumeration") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_COMPLETE = FormatString("Completion of USB Device Enumeration") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RETRY = FormatString("Retry Enumeration") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_MAXIMUM_RETRY_COUNT_REACHED = FormatString("Maximum Enumeration Retry Count Reached") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILED = FormatString("USB Device Enumeration Failed") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_RESET_TIMEOUT = FormatString("Port Reset Timed Out") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_WAS_RESET_ON_RESUME = FormatString("USB Hub Was Reset On Resume") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR_HEADER = FormatString("Validation Failure of MS OS Extended Property Descriptor Header") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_PROPERTY_DESCRIPTOR = FormatString("Validation Failure of MS OS Extended Property Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR_HEADER = FormatString("Validation Failure of BOS Descriptor Header") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_BOS_DESCRIPTOR = FormatString("Validation Failure of BOS Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_CONFIGURATION_DESCRIPTOR = FormatString("Validation Failure of Configuration Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_DEVICE_DESCRIPTOR = FormatString("Validation Failure of Device Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_DEVICE_QUALIFIER_DESCRIPTOR = FormatString("Validation Failure of Device Qualifier Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_LANGUAGE_ID_DESCRIPTOR = FormatString("Validation Failure of Language ID String Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR_HEADER = FormatString("Validation Failure of MS OS Container ID Descriptor Header") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_CONTAINER_ID_DESCRIPTOR = FormatString("Validation Failure of MS OS Container ID Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_DESCRIPTOR = FormatString("Validation Failure of MS OS Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR_HEADER = FormatString("Validation Failure of MS OS Extended Configuration Descriptor Header") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS_EXTENDED_CONFIGURATION_DESCRIPTOR = FormatString("Validation Failure of MS OS Extended Configuration Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_PRODUCT_ID_STRING_DESCRIPTOR = FormatString("Validation Failure of Product ID String Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_SERIAL_NUMBER_STRING_DESCRIPTOR = FormatString("Validation Failure of Serial Number String Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_MSOS20_DESCRIPTOR_SET = FormatString("Validation Failure of MS OS 2.0 Descriptor Set") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_START = FormatString("Start of %s for USB Device", UsbIoctlInternalTable(fid_IoctlCode)) { UsbDevicePtr fid_UsbDevice; UINT32 fid_IoctlCode = FormatString ("%s", UsbIoctlInternalTable(this), this); } Struct USBHUB3_ETW_EVENT_DEVICE_INTERNAL_IOCTL_COMPLETE = FormatString("Completion of %s for USB Device", UsbIoctlInternalTable(fid_IoctlCode)) { UsbDevicePtr fid_UsbDevice; UINT32 fid_IoctlCode = FormatString ("%s", UsbIoctlInternalTable(this), this); [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_URB_START = FormatString("Start URB Client Request for USB Device") { UsbDevicePtr fid_UsbDevice; UINT32 fid_UrbFunction = FormatString("%s (0x%x)", USBPort_UsbUrbFunction(this), this); } Struct USBHUB3_ETW_EVENT_DEVICE_URB_COMPLETE = FormatString("Completion of URB Client Request for USB Device") { UsbDevicePtr fid_UsbDevice; UINT32 fid_UrbFunction = FormatString("%s (0x%x)", USBPort_UsbUrbFunction(this), this); USBD_STATUS fid_UsbdStatus; } Struct USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_HEADER_LENGTH_WARNING = FormatString("Invalid URB Header Length") { UsbDevicePtr fid_UsbDevice; EtlPtr fid_URB_Ptr; struct fid_USBPORT_URB_HEADER { [Property.USBLength] [Property.USBLengthRequested] UINT16 fid_URB_Hdr_Length; UINT16 fid_URB_Hdr_Function; UINT32 fid_URB_Hdr_Status; EtlPtr fid_URB_Hdr_UsbdDeviceHandle; EtlPtr fid_URB_Hdr_UsbdFlags; } } Struct USBHUB3_ETW_EVENT_DISPATCH_URB_INVALID_FUNCTION = FormatString("Invalid URB Function") { UsbDevicePtr fid_UsbDevice; EtlPtr fid_URB_Ptr; struct fid_USBPORT_URB_HEADER { [Property.USBLength] [Property.USBLengthRequested] UINT16 fid_URB_Hdr_Length; UINT16 fid_URB_Hdr_Function; UINT32 fid_URB_Hdr_Status; EtlPtr fid_URB_Hdr_UsbdDeviceHandle; EtlPtr fid_URB_Hdr_UsbdFlags; } } Struct USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_START = FormatString("Start IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_SUBMIT_IDLE_NOTIFICATION_COMPLETE = FormatString("Complete IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_IDLE_CALLBACK = FormatString("Invoking Idle Notification Callback") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_20_PORT_STATUS = FormatString("Port Status for 2.0 Port: %d, %s", fid_PortNumber, PortStatus.ToString) { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; // UINT16 fid_PortStatus; // UINT16 fid_PortChange; Usb2PortStatus PortStatus; } Struct USBHUB3_ETW_EVENT_30_PORT_STATUS = FormatString("Port Status for 3.0 Port: %d, %s", fid_PortNumber, PortStatus.ToString) { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; // UINT16 fid_PortStatus; // UINT16 fid_PortChange; Usb3PortStatus PortStatus; } Struct USBHUB3_ETW_EVENT_HUB_PORT_ACPI_UPC_FAILURE = FormatString("Error Evaluating ACPI _UPC Method for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_PORT_ACPI_PLD_FAILURE = FormatString("Error Evaluating ACPI _PLD Method for Port") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_STATE_MACHINE = FormatString("State Machine Transition <%s> %s", HubEvent(fid_Event), HubState(fid_State)) { UsbDevicePtr fid_UsbDevice; EtlPtr fid_Context; UINT32 fid_StartIndex; UINT32 fid_State; UINT32 fid_Event; UINT32 fid_Depth; } Struct USBHUB3_ETW_EVENT_UNHANDLED_STATE_MACHINE_EVENT = FormatString("Unhandled State Machine Event") { UsbDevicePtr fid_UsbDevice; EtlPtr fid_Context; UINT32 fid_StartIndex; UINT32 fid_State; UINT32 fid_Event; UINT32 fid_Depth; } Struct USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_START = FormatString("Start of Hub Reset Request") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_RESET_REQUEST_COMPLETE = FormatString("Completion of Start Hub Reset Request") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_RESET_DUE_TO_PORT_ERROR = FormatString("Hub Reset Request Due to Port Error") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_PORT_STATUS_ERROR = FormatString("Failure during Port Change Request") { UINT32 fid_PortNumber; UINT16 fid_PreviousPortStatus; UINT16 fid_CurrentPortStatus; UINT16 fid_CurrentPortChange; UINT32 fid_Event; } Struct USBHUB3_ETW_EVENT_PORT_STATUS_ERROR_V1 = FormatString("Failure during Port Change Request") { UINT32 fid_PortNumber; UINT16 fid_PreviousPortStatus; UINT16 fid_CurrentPortStatus; UINT16 fid_CurrentPortChange; UINT32 fid_Event; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; } Struct USBHUB3_ETW_EVENT_HUB_CONTROL_TRANSFER_ERROR = FormatString("Hub Control Transfer Error") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; USBD_STATUS fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_PORT_CONTROL_TRANSFER_ERROR = FormatString("Port Control Transfer Error") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; USBD_STATUS fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_CONTROL_TRANSFER_ERROR = FormatString("Device Control Transfer Error") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; USBD_STATUS fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_PORT_INTERRUPT_TRANSFER_ERROR = FormatString("Status Change Interrupt Transfer Error") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_SELECTIVE_SUSPEND_NOT_SUPPORTED = FormatString("SuperSpeed Hub Entered Invalid Power State as It Does Not Support Remote Wake and Selective Suspend") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_INFORMATION_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_INFORMATION") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_INFORMATION") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_NAME_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_NAME") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_START = FormatString("Start of IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION_COMPLETE = FormatString("Completion of IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_COMPLETE = FormatString("Completion of IOCTL_USB_GET_HUB_CAPABILITIES") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_CAPABILITIES_EX_COMPLETE = FormatString("Completion of IOCTL_USB_GET_HUB_CAPABILITIES_EX") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_START = FormatString("Start of IOCTL_USB_HUB_CYCLE_PORT") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_HUB_CYCLE_PORT_COMPLETE = FormatString("Completion of IOCTL_USB_HUB_CYCLE_PORT") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_RESET_HUB_COMPLETE = FormatString("Completion of IOCTL_USB_RESET_HUB") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_UNSUPPORTED_IOCTL_COMPLETE = FormatString("Completion of Unsuppported IOCTL") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES_COMPLETE = FormatString("Completion of IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES") { UsbDevicePtr fid_UsbDeivce; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_HUB_INFORMATION_EX_COMPLETE = FormatString("Completion of IOCTL_USB_GET_HUB_INFORMATION_EX") { UsbDevicePtr fid_UsbDeivce; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2_COMPLETE = FormatString("Completion of IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_UCX_IOCTL_FAILURE = FormatString("UCX IOCTL Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_IoctlCode; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_DESCRIPTOR_FAILURE = FormatString("Request for Device Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SET_ADDRESS_FAILURE = FormatString("Set Address Request Failed") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_CONFIG_DESCRIPTOR_FAILURE = FormatString("Request for Configuration Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SET_SEL_FAILURE = FormatString("Set SEL Request Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_BOS_DESCRIPTOR_FAILURE = FormatString("Request for BOS Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DEVICE_QUALIFIER_DESCRIPTOR_FAILURE = FormatString("Request for Device Qualifier Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SERIAL_NUMBER_STRING_FAILURE = FormatString("Request for Serial Number String Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_PRODUCT_ID_STRING_FAILURE = FormatString("Request for Product ID String Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_MS_EXT_CONFIG_DESCRIPTOR_FAILURE = FormatString("Request for Microsoft OS Extended Configuration Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_MS_CONTAINER_ID_DESCRIPTOR_FAILURE = FormatString("Request for Microsoft OS Container ID Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SET_ISOCH_DELAY_FAILURE = FormatString("Device Control Transfer for Set Isoch Delay Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_LANGUAGE_ID_STRING_FAILURE = FormatString("Request for Language ID String Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_REGISTRY_FAILURE = FormatString("Unable to Access Registry") { UsbDevicePtr fid_UsbDevice; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SSDEVICE_CONNECTED_AT_LS = FormatString("SuperSpeed Device is Connected on the 2.0 Bus") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_HUB_TOO_MANY_RESETS = FormatString("Hub Exceeded Reset Limit. Declaring a PNP failure in the State Machine.") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INTERFACE_WAKE_CAPABILITY_MISMATCH = FormatString("Device Supports Remote Wake in Interface 0. But Does Not Report Remote Wake in the Configuration Descriptor") { UsbDevicePtr fid_UsbDevice; UINT32 fid_DeviceIsComposite; UINT32 fid_DeviceWakeupSupport; UINT16 fid_InterfaceRemoteWakeupCapable; } Struct USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_FAILURE = FormatString("Descriptor validation failed for the device for the following reason: %s", DescriptorValidationError(fid_NtStatus)) { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_NtStatus = FormatString ("%s", DescriptorValidationError(this), this); } Struct USBHUB3_ETW_EVENT_BUS_RENUMERATION = FormatString("Device getting Re-Enumerated. This Enumeration is not Visible to PnP Manager") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_USBENUM_SERIAL_MISMATCH_ON_RENUMERATION = FormatString("New Serial Number does not match Cached Serial Number") { EtlPtr fid_HubDevice; AsciiString fid_CachedSerialNumber; UINT32 fid_CachedSerialNumberLength; UnicodeString fid_NewSerialNumber; UINT32 fid_NewSerialNumberLength; } Struct USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION = FormatString("Client Initiated Recovery Action") { UsbDevicePtr fid_UsbDevice; UINT32 fid_IoctlCode; UINT32 fid_UrbFunction; } Struct USBHUB3_ETW_EVENT_CLIENT_INITIATED_RECOVERY_ACTION_V1 = FormatString("Client Initiated Recovery Action") { UsbDevicePtr fid_UsbDevice; UINT32 fid_IoctlCode; UINT32 fid_UrbFunction; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; UINT32 fid_EventCount; } Struct USBHUB3_ETW_EVENT_DEVICE_QUERY_USB_CAPABILITY = FormatString("Query USB capability for device") { UsbDevicePtr fid_UsbDevice; GUID(true) fid_Capability; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_MSOS20_DESCRIPTOR_FAILURE = FormatString("Request for Microsoft OS 2.0 Descriptor Set Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_MSOS20_SET_ALT_ENUMERATION_FAILURE = FormatString("Microsoft OS 2.0 Set Alternate Enumeration Command Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SET_U1_ENABLE_FAILURE = FormatString("Set Feature for U1 Enable Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_SET_U2_ENABLE_FAILURE = FormatString("Set Feature for U2 Enable failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_DESCRIPTOR_VALIDATION_WARNING = FormatString("Descriptor Validation Warning") { EtlPtr fid_HubDevice; UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_NtStatus; } Struct USBHUB3_ETW_EVENT_BILLBOARD = FormatString("Billboard Detected") { UsbDevicePtr fid_UsbDevice; UINT8 fid_bNumberOfAlternateModes; UINT8 fid_bPreferredAlternateMode; UINT16 fid_VconnPower; UnicodeString fid_AdditionalInfoUrlString; } Struct USBHUB3_ETW_EVENT_ALTERNATE_MODE_FAILED = FormatString("Alternate Mode Failed") { UsbDevicePtr fid_UsbDevice; UINT16 fid_Svid; UINT8 fid_AlternateMode; UnicodeString fid_AlternateModeString; UINT8 fid_ConfigurationStatus; } Struct USBHUB3_ETW_EVENT_ALTERNATE_MODE_ENTERED = FormatString("Alternate Mode Entered") { UsbDevicePtr fid_UsbDevice; UINT16 fid_Svid; UINT8 fid_AlternateMode; UnicodeString fid_AlternateModeString; UINT8 fid_ConfigurationStatus; } Struct USBHUB3_ETW_EVENT_BILLBOARD_STRING_FAILURE = FormatString("Request for Billboard Additional Information Url String Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; UINT32 fid_NtStatus; } Struct USBHUB3_ETW_EVENT_ALTERNATE_MODE_STRING_FAILURE = FormatString("Request for Alternate Mode String Descriptor Failed") { UsbDevicePtr fid_UsbDevice; UINT32 fid_PortNumber; UINT32 fid_UsbdStatus; UINT32 fid_NtStatus; } Struct USBHUB3_ETW_EVENT_INVALID_BILLBOARD_STRING_DESCRIPTOR = FormatString("Validation Failure of Billboard String Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_INVALID_ALTERNATE_MODE_STRING_DESCRIPTOR = FormatString("Validation Failure of Alternate Mode String Descriptor") { UsbDevicePtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE = FormatString("USB device draining system power when system is idle. USB Device: VID: %s PID: %s REV: %s Action taken: %s", fid_idVendor.ToString, fid_idProduct.ToString, fid_bcdDevice.ToString, fid_DripsWatchdogResult.ToString) { UsbDevicePtr fid_UsbDevice; UINT32 fid_DripsWatchdogResult; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_INFO = FormatString("USB device draining system power when system is idle. USB Device: VID: %s PID: %s REV: %s Action taken: %s", fid_idVendor.ToString, fid_idProduct.ToString, fid_bcdDevice.ToString, fid_DripsWatchdogResult.ToString) { EtlPtr fid_UsbDevice; UINT32 fid_DripsWatchdogResult = MapDripsWatchdogResult(this); UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_DRIPS_WATCHDOG_COMPLETE_PUBLISH_WARNING = FormatString("USB device draining system power when system is idle. USB Device: VID: %s PID: %s REV: %s Removal action failed: %s", fid_idVendor.ToString, fid_idProduct.ToString, fid_bcdDevice.ToString, fid_DripsWatchdogResult.ToString) { EtlPtr fid_UsbDevice; UINT32 fid_DripsWatchdogResult = MapDripsWatchdogResult(this); UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_ENUMERATION_FAILURE = FormatString("Device enumeration has failed.") { EtlPtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_ILLEGAL_ENDPOINT_SHARING_ACROSS_INTERFACES = FormatString("Illegal Endpoint Sharing Across Interfaces.") { EtlPtr fid_UsbDevice; } Struct USBHUB3_ETW_EVENT_DEVICE_REENUMERATIONCALLBACK_PUBLISH_INFO = FormatString("Re-enumerating a DRIPS blocking device that was previously surprise removed when exiting low power epoch. USB Device: VID: %s PID: %s REV: %s IsPortCycled: %s", fid_idVendor.ToString, fid_idProduct.ToString, fid_bcdDevice.ToString, fid_IsPortCycle.ToString) { EtlPtr fid_UsbDevice; BOOL fid_IsPortCycle; UINT16 fid_idVendor; UINT16 fid_idProduct; UINT16 fid_bcdDevice; BOOL fid_enteringPowerLevel; [Property.USBNtStatus = this.ToString] NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_OPENED_USB4_REMOTE_TARGET = FormatString("Hub opened USB4 remote target") { EtlPtr fid_HubDevice; EtlPtr fid_RemoteTarget; EtlPtr fid_ParentDeviceObject; } Struct USBHUB3_ETW_EVENT_HUB_ADDED_COMPONENT_RELATION = FormatString("Hub added component relation") { EtlPtr fid_HubDevice; EtlPtr fid_ParentDeviceObject; NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_ADD_COMPONENT_RELATION_FAILURE = FormatString("Hub failed to add component relation") { EtlPtr fid_HubDevice; EtlPtr fid_ParentDeviceObject; NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_REMOVED_COMPONENT_RELATION = FormatString("Hub removed component relation") { EtlPtr fid_HubDevice; EtlPtr fid_ParentDeviceObject; NTSTATUS fid_NtStatus; } Struct USBHUB3_ETW_EVENT_HUB_REMOVE_COMPONENT_RELATION_FAILURE = FormatString("Hub failed to remove component relation") { EtlPtr fid_HubDevice; EtlPtr fid_ParentDeviceObject; NTSTATUS fid_NtStatus; } [RegisterBefore(EventDescriptor.DefaultKeyword, MicrosoftWindowsUSBUSBHUB3_Keyword, "{AC52AD17-CC01-4F85-8DF5-4DCE4333C99B}")] struct MicrosoftWindowsUSBUSBHUB3_Keyword { UINT64 Default:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_DEFAULT":""); UINT64 USBError:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_USBERROR":""); UINT64 IRP:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_IRP":""); UINT64 Power:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_POWER":""); UINT64 PnP:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_PNP":""); UINT64 Performance:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_PERFORMANCE":""); UINT64 HeadersBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_HEADERS_BUS_TRACE":""); UINT64 PartialDataBusTrace:1 = FormatString("(%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_PARTIAL_DATA_BUS_TRACE":""); UINT64 FullDataBusTrace:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_FULL_DATA_BUS_TRACE":""); UINT64 StateMachine:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_STATEMACHINE":""); UINT64 Enumeration:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_ENUMERATION":""); UINT64 VerifyDriver:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_VERIFYDRIVER":""); UINT64 HWVerifyHost:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_HW_VERIFYHOST":""); UINT64 HWVerifyHub:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_HW_VERIFYHUB":""); UINT64 HWVerifyDevice:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_HW_VERIFYDEVICE":""); UINT64 Rundown:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_RUNDOWN":""); UINT64 Device:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_DEVICE":""); UINT64 Hub:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_HUB":""); UINT64 Compat:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBHUB3_ETW_KEYWORD_COMPAT":""); UINT64 ControllerCommand:1 = FormatString(" (%s) %s", this.ToBitString, this? "USBXHCI_ETW_KEYWORD_CONTROLLER_COMMAND":""); UINT64 Reserved1:44 = FormatString(" (%s)", this.ToBitString); } // // Added structs // [Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr] = this.ToString] Struct InternalUsbTblDeviceDescription = String.ToString { UnicodeString String; } struct InitialUcxControllerPtr = Pointer.Ptr.ToString { [Global.ControllerIndex = Global.ControllerIndex + 1] [Property.UcxControllerPtr = Pointer.Ptr.ToString] [Global.InternalUsbTblControllerIndex$[Pointer.Ptr.ToString] = Global.ControllerIndex] [Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Pointer.Ptr.ToString]] [Property.USBHostController = Global.InternalUsbTblController$[Pointer.Ptr.ToString]] EtlPtr Pointer; } Struct UcxControllerPtr = Pointer.Ptr.ToString { [Property.UcxControllerPtr = Pointer.Ptr.ToString] [Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Pointer.Ptr.ToString]] [Property.USBHostController = Global.InternalUsbTblController$[Pointer.Ptr.ToString]] EtlPtr Pointer; } Struct InitialUsbDevicePtr = Pointer.Ptr.ToString { [Property.USBDevicePtr = Pointer.Ptr.ToString] [Global.InternalUsbTblControllerFromDevice$[Pointer.Ptr.ToString] = Property.UcxControllerPtr] [Post.Property.UcxControllerPtr = Global.InternalUsbTblControllerFromDevice$[Pointer.Ptr.ToString]] [Post.Property.USBHostController = Global.InternalUsbTblController$[Property.UcxControllerPtr]] [Post.Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Property.UcxControllerPtr]] EtlPtr Pointer; } Struct UsbDevicePtr = Pointer.Ptr.ToString { [Property.USBDevicePtr = Pointer.Ptr.ToString] [Post.Property.UcxControllerPtr = Global.InternalUsbTblControllerFromDevice$[Pointer.Ptr.ToString]] [Post.Property.USBHostController = Global.InternalUsbTblController$[Property.UcxControllerPtr]] [Post.Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Property.UcxControllerPtr]] // Get all device attributes from global tables into event properties // These can be filtered by the user, and used by the parser in processing subsequent frame data [Post.Property.USBVid = Global.InternalUsbTblVid$[Property.USBDevicePtr]] [Post.Property.USBPid = Global.InternalUsbTblPid$[Property.USBDevicePtr]] [Post.Property.USBSpeed = Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr]] [Post.Property.USBPortPath = Global.InternalUsbTblPortPath$[Property.USBDevicePtr]] [Post.Property.USBDeviceDescription = Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr]] [Post.Property.USBClass = Global.InternalUsbTblClass$[Property.USBDevicePtr]] [Post.Property.USBSubclass = Global.InternalUsbTblSubclass$[Property.USBDevicePtr]] [Post.Property.USBProtocol = Global.InternalUsbTblProtocol$[Property.USBDevicePtr]] EtlPtr Pointer; } struct InitialUsbEndpointPtr = Pointer.Ptr.ToString { [Property.USBEndpointPtr = Pointer.Ptr.ToString] [Global.InternalUsbTblDeviceFromEndpoint$[Pointer.Ptr.ToString] = Property.USBDevicePtr] [Post.Property.USBDevicePtr = Global.InternalUsbTblDeviceFromEndpoint$[Pointer.Ptr.ToString]] [Post.Property.UcxControllerPtr = Global.InternalUsbTblControllerFromDevice$[Property.USBDevicePtr]] [Post.Property.USBHostController = Global.InternalUsbTblController$[Property.UcxControllerPtr]] [Post.Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Property.UcxControllerPtr]] [Post.Property.USBEndpointAddress = Global.InternalUsbTblEndpointAddressFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointType = Global.InternalUsbTblEndpointTypeFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointMaxPacketSize = Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointInterval = Global.InternalUsbTblEndpointIntervalFromEpPointer$[Pointer.Ptr.ToString]] EtlPtr Pointer; } // Some events have endpoint pointer, some have pipe handle, some have both // The same properties are set on both of them Struct UsbEndpointPtr = Pointer.Ptr.ToString { [Property.USBEndpointPtr = Pointer.Ptr.ToString] [Post.Property.USBDevicePtr = Global.InternalUsbTblDeviceFromEndpoint$[Pointer.Ptr.ToString]] [Post.Property.UcxControllerPtr = Global.InternalUsbTblControllerFromDevice$[Property.USBDevicePtr]] [Post.Property.USBHostController = Global.InternalUsbTblController$[Property.UcxControllerPtr]] [Post.Property.USBControllerIndex = Global.InternalUsbTblControllerIndex$[Property.UcxControllerPtr]] [Post.Property.USBVid = Global.InternalUsbTblVid$[Property.USBDevicePtr]] [Post.Property.USBPid = Global.InternalUsbTblPid$[Property.USBDevicePtr]] [Post.Property.USBSpeed = Global.InternalUsbTblDeviceSpeedFromDeviceHandle$[Property.USBDevicePtr]] [Post.Property.USBPortPath = Global.InternalUsbTblPortPath$[Property.USBDevicePtr]] [Post.Property.USBDeviceDescription = Global.InternalUsbTblDeviceDescription$[Property.USBDevicePtr]] [Post.Property.USBClass = Global.InternalUsbTblClass$[Property.USBDevicePtr]] [Post.Property.USBSubclass = Global.InternalUsbTblSubclass$[Property.USBDevicePtr]] [Post.Property.USBProtocol = Global.InternalUsbTblProtocol$[Property.USBDevicePtr]] // Get all endpoint attributes from global tables into event properties [Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber] = Global.InternalUsbTblEndpoint$[Pointer.Ptr]] [Post.Property.USBEndpoint = Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber]] [Post.Property.USBEndpointAddress = Global.InternalUsbTblEndpointAddressFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointType = Global.InternalUsbTblEndpointTypeFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointMaxPacketSize = Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Pointer.Ptr.ToString]] [Post.Property.USBEndpointInterval = Global.InternalUsbTblEndpointIntervalFromEpPointer$[Pointer.Ptr.ToString]] EtlPtr Pointer; } // TODO: This can probably be reduced to a simple property once USB3 URB events have EndpointPtr. Also move UsbEndpointPtr to etl_usb3.npl and delete references to USBPipeHandle in that file. Struct UsbPipeHandle = Pointer.Ptr.ToString { [Property.USBPipeHandle = Pointer.Ptr] // Get all endpoint attributes from global tables into event properties // Don't overwrite USBEndpoint (address) if it's already been found [Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber] = !IsValueNone(Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber]) ? Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber] : Global.InternalUsbTblEndpoint$[Pointer.Ptr]] [Post.Property.USBEndpoint = !IsValueNone(Property.USBEndpoint) ? Property.USBEndpoint : Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber]] [Post.Property.USBEndpointAddress = !IsValueNone(Property.USBEndpointAddress) ? Property.USBEndpointAddress : Global.InternalUsbTblFrameNumberToUSBEndpoint$[FrameNumber]] [Post.Property.USBEndpointType = !IsValueNone(Property.USBEndpointType) ? Property.USBEndpointType :Global.InternalUsbTblEndpointTypeFromEpPointer$[Property.USBPipeHandle]] [Post.Property.USBEndpointMaxPacketSize = !IsValueNone(Property.USBEndpointMaxPacketSize) ? Property.USBEndpointMaxPacketSize :Global.InternalUsbTblEndpointMaxPacketSizeFromEpPointer$[Property.USBPipeHandle]] [Post.Property.USBEndpointInterval = !IsValueNone(Property.USBEndpointInterval) ? Property.USBEndpointInterval :Global.InternalUsbTblEndpointIntervalFromEpPointer$[Property.USBPipeHandle]] EtlPtr Pointer; } Struct Usb3PortStatus = FormatString("%s %s", wPortStatus.ToString, wPortChange.ToString) { UINT16 wPortStatus = UsbPortLinkState(PORT_LINK_STATE) { UINT16 PORT_CONNECTION:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "PORT_CONNECTION"); UINT16 PORT_ENABLE:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "PORT_ENABLE"); UINT16 Reserved:1; UINT16 PORT_OVER_CURRENT:1 = FormatString("(%s) %s", this.ToBitString, this == 0 ? "" : "PORT_OVER_CURRENT"); UINT16 PORT_RESET:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "PORT_RESET"); UINT16 PORT_LINK_STATE:4 = FormatString(" -- %s --", UsbPortLinkState(this)); UINT16 PORT_POWER:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "PORT_POWER"); UINT16 PORT_SPEED:3 = FormatString(" -- %s --", UsbSuperSpeedSpeed(this)); UINT16 Reserved2:3; } UINT16 wPortChange = UsbPortChangeBitsStringMap(this) { [Property.USBIsConnect = (this == 1 && wPortStatus.PORT_CONNECTION == 1) ? 1 : 0] [Property.USBIsDisconnect = (this == 1 && wPortStatus.PORT_CONNECTION == 0) ? 1 : 0] UINT16 C_PORT_CONNECTION:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_PORT_CONNECTION"); UINT16 Reserved:2; UINT16 C_PORT_OVER_CURRENT:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_PORT_OVER_CURRENT"); UINT16 C_PORT_RESET:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_PORT_RESET"); UINT16 C_BH_PORT_RESET:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_BH_PORT_RESET"); UINT16 C_PORT_LINK_STATE:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_PORT_LINK_STATE"); UINT16 C_PORT_CONFIG_ERROR:1 = FormatString(" (%s) %s", this.ToBitString, this == 0 ? "" : "C_PORT_CONFIG_ERROR"); UINT16 Reserved2:8; } } Table UsbPortLinkState(value) { switch (value) { case 0: "U0"; case 1: "U1"; case 2: "U2"; case 3: "U3 (Device Suspended)"; case 4: "SS.Disabled"; case 5: "Rx.Detect"; case 6: "SS.Inactive"; case 7: "Polling"; case 8: "Recovery"; case 9: "Hot Reset"; case 10: "Compliance Mode"; case 11: "Loopback"; case 12: "Reserved12"; case 13: "Reserved13"; case 14: "Reserved14"; case 15: "Resume"; // xHCI PORTSC only, won't see this in hub ETW default: "UNKNOWN"; } } // This is really for future use, defined as "Negotiated speed of the SuperSpeed Device Attached to this port" Table UsbSuperSpeedSpeed(value) { switch (value) { case 0: "5 Gbps"; default: "UNKNOWN"; } } // Descriptions for common values of hub port status change bits. Works for 2.0 and 3.0 Table UsbPortChangeBitsStringMap(value) { switch (value) { case 0x0: "No change"; case 0x1: "Changed PORT_CONNECTION"; case 0x2: "Changed PORT_ENABLE"; case 0x4: "Changed PORT_SUSPEND"; case 0x8: "Changed PORT_OVER_CURRENT"; case 0x10: "Changed PORT_RESET"; case 0x20: "Changed BH_PORT_RESET"; case 0x40: "Changed PORT_LINK_STATE"; case 0x80: "Changed PORT_CONFIG_ERROR"; default: FormatString("%s (Multiple changes, expand)", value.ToBitString); } } // TRB structure is defined in the xHCI specification Struct TRB = GenericTrb.ToString { // Currently we don't parse any specific TRB types. Just get the data common to all TRBs. GenericTrb GenericTrb; } Struct GenericTrb = TrbType.ToString { UINT64 TypeDependentQword; UINT32 TypeDependentDword; UINT32 CycleBit:1; UINT32 TypeDependent1:9; UINT32 TrbType:6 = TrbType(this); UINT32 TypeDependent2:8; UINT32 TypeDependent3:8; } Table TrbType(value) { switch (value) { case 0: "RESERVED"; case 1: "NORMAL"; case 2: "SETUP_STAGE"; case 3: "DATA_STAGE"; case 4: "STATUS_STAGE"; case 5: "ISOCH"; case 6: "LINK"; case 7: "EVENT_DATA"; case 9: "ENABLE_SLOT_COMMAND"; case 10: "DISABLE_SLOT_COMMAND"; case 11: "ADDRESS_DEVICE_COMMAND"; case 12: "CONFIGURE_ENDPOINT_COMMAND"; case 13: "EVALUATE_CONTEXT_COMMAND"; case 14: "RESET_ENDPOINT_COMMAND"; case 15: "STOP_ENDPOINT_COMMAND"; case 16: "SET_DEQUEUE_POINTER_COMMAND"; case 17: "RESET_DEVICE_COMMAND"; case 18: "FORCE_EVENT_COMMAND"; case 19: "NEGOTIATE_BANDWIDTH_COMMAND"; case 20: "SET_LATENCY_TOLERANCE_VALUE_COMMAND"; case 21: "GET_PORT_BANDWIDTH_COMMAND"; case 22: "FORCE_HEADER_COMMAND"; case 23: "NO_OP_COMMAND"; case 24: "GET_EXTENDED_PROPERTY_COMMAND"; case 25: "SET_EXTENDED_PROPERTY_COMMAND"; case 32: "TRANSFER_EVENT"; case 33: "COMMAND_COMPLETION_EVENT"; case 34: "PORT_STATUS_CHANGE_EVENT"; case 35: "BANDWIDTH_REQUEST_EVENT"; case 36: "DOORBELL_EVENT"; case 37: "HOST_CONTROLLER_EVENT"; case 38: "DEVICE_NOTIFICATION_EVENT"; case 39: "MFINDEX_WRAP_EVENT"; default: FormatString("Unknown TRB type %d", value); } } Table EndpointType(value) { switch (value) { case 0x0: "Control"; case 0x2: "Bulk"; case 0x3: "Interrupt"; case 0x13: "Interrupt (Notification)"; case 0x01: "Isoch"; case 0x05: "Isoch (Async, Data)"; case 0x09: "Isoch (Adaptive, Data)"; case 0x0D: "Isoch (Sync, Data)"; case 0x11: "Isoch (Periodic, Feedback)"; case 0x15: "Isoch (Async, Feedback)"; case 0x19: "Isoch (Adaptive, Feedback)"; case 0x1D: "Isoch (Sync, Feedback)"; case 0x21: "Isoch (Periodic, Implicit Feedback Data)"; case 0x25: "Isoch (Async, Implicit Feedback Data)"; case 0x29: "Isoch (Adaptive, Implicit Feedback Data)"; case 0x2D: "Isoch (Sync, Implicit Feedback Data)"; default: FormatString("Unknown endpoint type"); } } Table UsbDeviceSpeed (value) { switch (value) { case 0: "LS"; case 1: "FS"; case 2: "HS"; case 3: "SS"; default: FormatString("Unknown speed"); } }