263#define HUB_DESC_BITMAP_ULONGS 8
316#define HUB_BOS_SUPERSPEED_CAPABLE 0x00000001
317#define HUB_BOS_ENHANCED_SUPERSPEED_CAPABLE 0x00000002
318#define HUB_BOS_CHARGING_POLICY 0x00000004
488#define HUB_MSOS20_SET_INFO 0x00000001
489#define HUB_MSOS20_SET_HEADER 0x00000002
490#define HUB_MSOS20_ALT_ENUM 0x00000004
491#define HUB_MSOS20_CONFIG_SUBSET 0x00000008
492#define HUB_MSOS20_FUNCTION_SUBSET 0x00000010
493#define HUB_MSOS20_COMPATIBLE_ID 0x00000020
494#define HUB_MSOS20_REGISTRY 0x00000040
495#define HUB_MSOS20_RESUME_TIME 0x00000080
496#define HUB_MSOS20_MODEL_ID 0x00000100
497#define HUB_MSOS20_CCGP 0x00000200
659HubDescCheckMsOs20Set(
VOID(NTAPI * PFN_HUB_DESC_LOG)(_In_opt_ PVOID Context, _In_ HubDescCode Code, _In_ BOOLEAN Warning)
VOID NTAPI HubDescInitHubContext(_Out_ HubDescContext *Context, _In_ USHORT BcdUsb, _In_ USB_DEVICE_SPEED Speed)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT _Out_opt_ PUSHORT _Inout_opt_ PBOOLEAN _Inout_opt_ HubLpmInfo * Lpm
BOOLEAN NTAPI HubDescNextMsOs20(_In_ PUCHAR End, _Inout_ HubMsOs20Common **Current)
BOOLEAN NTAPI HubDescCheckMsOsString(_In_ const HubDescContext *Context, _In_ const HubMsOsString *Descriptor)
BOOLEAN NTAPI HubDescCheck30Hub(_In_ const HubDescContext *Context, _In_reads_bytes_opt_(Length) PUSB_30_HUB_DESCRIPTOR Descriptor, _In_ ULONG Length)
BOOLEAN NTAPI HubDescCheckConfiguration(_In_ const HubDescContext *Context, _In_reads_bytes_opt_(Length) PUSB_CONFIGURATION_DESCRIPTOR Descriptor, _In_ ULONG Length, _Out_opt_ PBOOLEAN SupportsStreams)
VOID NTAPI HubDescLog(_In_ const HubDescContext *Context, _In_ HubDescCode Code, _In_ BOOLEAN Warning)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT _Out_opt_ PUSHORT _Inout_opt_ PBOOLEAN LtmCapable
BOOLEAN NTAPI HubDescCheckMsOsExtConfigHeader(_In_ const HubDescContext *Context, _In_reads_bytes_(Length) const HubMsOsExtConfigHeader *Descriptor, _In_ ULONG Length)
BOOLEAN NTAPI HubDescCheckDevice(_In_ const HubDescContext *Context, _In_reads_bytes_opt_(Length) PUSB_DEVICE_DESCRIPTOR Descriptor, _In_ ULONG Length, _Inout_opt_ PBOOLEAN IsBillboard)
_In_ ULONG _In_ const HubMsOs20SetInfo * SetInfo
VOID NTAPI HubDescInitDeviceContext(_Out_ HubDescContext *Context, _In_ USHORT BcdUsb, _In_ USB_DEVICE_SPEED Speed, _In_ BOOLEAN Win8Behavior, _In_ ULONG SspIsochBurstCount, _In_opt_ PULONG Bitmap)
@ SspCapAttributesReserved
@ ConfigTotalLengthTooLarge
@ CompanionControlBytesPerInterval
@ PlatformFeaturesVersion
@ InterfaceBufferTooSmall
@ SspCompanionLengthTooSmall
@ BillboardPreferredInvalid
@ MsOs20MultipleResumeTime
@ IadFirstInterfaceTooLarge
@ Hub20RemovableMissingPort
@ MsOsExtConfigBufferSize
@ FunctionSubsetMisplacedFeature
@ BosBufferLargerThanTotal
@ SsCapAttributesReserved
@ MsOsExtConfigCompatibleId
@ MsOs20RegistryNameTooLarge
@ ConfigSubsetMisplacedFeature
@ FunctionSubsetTotalTooLarge
@ MsOsExtConfigFirstInterface
@ SspCompanionNotSuperSpeed
@ PlatformFeaturesTooSmall
@ MsOs20RegistryDataTooLarge
@ Hub30RemovableMissingPort
@ DeepBeslNotAboveBaseline
@ CompanionInterruptBurst
@ EndpointBeforeInterface
@ EndpointAddressReserved
@ FunctionSubsetFeatureLength
@ SsCapFunctionalityReserved
@ BillboardBufferTooSmall
@ ContainerIdLengthTooLarge
@ CompanionInterruptBytesPerInterval
@ CompanionInterruptAttributes
@ IsochPacketInAlternate0
@ CompanionIsochBytesPerInterval
@ FunctionSubsetTotalTooSmall
@ SspCompanionLengthTooLarge
@ MsOs20CompatibleIdAfterNull
@ MsOs20CompatibleIdLength
@ EndpointAttributesReserved
@ CompanionLengthTooSmall
@ MsOsExtConfigBufferVsLength
@ MsOs20RegistryNameOddOrZero
@ SspCapFunctionalityReserved
@ InterfaceLengthTooLarge
@ InterfaceLengthTooSmall
@ MsOsExtConfigSubCompatibleId
@ InterruptAttributesReserved
@ CompanionControlAttributes
@ SsCapFunctionalityNotInSpeeds
@ MsOsContainerIdBufferSize
@ ConfigSubsetFeatureLength
@ Hub30CharacteristicsReserved
@ SspCompanionBufferTooSmall
@ ConfigTotalLengthTooSmall
@ MsOs20MultipleSetHeaders
@ MsOs20FeatureOutOfOrder
@ CompanionLengthTooLarge
@ MsOsExtConfigLengthVsCount
@ ContainerIdBufferTooSmall
@ CompanionBufferTooSmall
@ PlatformFeaturesMultiple
@ ContainerIdLengthTooSmall
@ CompanionInterruptBurstPacket
@ CompanionBulkBytesPerInterval
@ BillboardLengthTooSmall
@ ConfigSubsetTotalTooSmall
@ ConfigSubsetTotalTooLarge
@ CompanionIsochBurstPacket
@ ConfigMissingSspCompanion
@ MsOs20TotalLengthMismatch
@ SerialNumberBadCharacter
@ ControlAttributesReserved
@ Hub30DecodeLatencyReserved
@ Hub20CharacteristicsReserved
@ CapMultipleSuperSpeedPlus
@ SspAttrSymmetricMismatch
@ MsOs20MultipleCompatibleId
@ CompanionIsochBytesNotOne
@ ConfigBufferTooSmallForInterfaces
BOOLEAN NTAPI HubDescCheck20Hub(_In_ const HubDescContext *Context, _In_reads_bytes_opt_(Length) PUSB_HUB_DESCRIPTOR Descriptor, _In_ ULONG Length)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT U1ExitLatency
BOOLEAN NTAPI HubDescCheckSerialNumber(_In_ const HubDescContext *Context, _In_reads_bytes_(*Length) PUSB_STRING_DESCRIPTOR Descriptor, _Inout_ PULONG Length)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT _Out_opt_ PUSHORT U2ExitLatency
PUSB_COMMON_DESCRIPTOR NTAPI HubDescFind(_In_reads_bytes_(TotalLength) PVOID Buffer, _In_ ULONG TotalLength, _In_ PVOID Position, _In_ UCHAR Type)
BOOLEAN NTAPI HubDescCheckMsOsContainerId(_In_ const HubDescContext *Context, _In_reads_bytes_(Length) const HubMsOsContainerId *Descriptor, _In_ ULONG Length)
BOOLEAN NTAPI HubDescCheckMsOsContainerIdHeader(_In_ const HubDescContext *Context, _In_reads_bytes_(Length) const HubMsOsHeader *Descriptor, _In_ ULONG Length)
BOOLEAN NTAPI HubDescCheckString(_In_ const HubDescContext *Context, _In_reads_bytes_(Length) PUSB_STRING_DESCRIPTOR Descriptor, _In_ ULONG Length, _Out_opt_ PULONG AdjustedLength)
PUSB_INTERFACE_DESCRIPTOR NTAPI HubDescFindInterface(_In_ PUSB_CONFIGURATION_DESCRIPTOR Config, _In_ PVOID Position, _In_ LONG Number, _In_ LONG Alternate, _In_ LONG Class, _In_ LONG SubClass, _In_ LONG Protocol, _Out_opt_ PBOOLEAN HasAlternates)
PCSTR NTAPI HubDescCodeName(_In_ HubDescCode Code)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT _Out_opt_ PUSHORT _Inout_opt_ PBOOLEAN _Inout_opt_ HubLpmInfo _Inout_opt_ PULONG DeviceFlags
BOOLEAN NTAPI HubDescCheckMsOsExtConfig(_In_ const HubDescContext *Context, _In_reads_bytes_(sizeof(HubMsOsExtConfig)) const HubMsOsExtConfig *Descriptor, _In_ ULONG Length)
BOOLEAN NTAPI HubDescCheckBosHeader(_In_ const HubDescContext *Context, _In_reads_bytes_opt_(Length) PUSB_BOS_DESCRIPTOR Descriptor, _In_ ULONG Length)
_Check_return_ _In_ ULONG _Inout_ PDXGK_CHILD_CONTAINER_ID ContainerId
#define _IRQL_requires_(irql)
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define _In_reads_bytes_(s)
#define _Inout_updates_bytes_(s)
#define _In_reads_bytes_opt_(s)
_In_ ULONG _In_ ULONG _In_ ULONG Length
HubPlatformFeatures * PlatformFeatures
PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR SuperSpeedPlus
PUSB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR ContainerId
HubMsOs20SetInfo * MsOs20SetInfo
PUSB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR Usb20
PUSB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR Billboard
PUSB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR SuperSpeed
BOOLEAN DiscardContainerId
HubMsOs20CompatibleId * CompatibleId
HubMsOs20ModelId * ModelId
HubMsOs20ResumeTime * ResumeTime
USHORT wPropertyNameLength
UCHAR bResumeSignalingTime
UCHAR bResumeRecoveryTime
UCHAR bFirstInterfaceNumber
HubMsOsExtConfigFunction Function[1]
HubMsOsExtConfigHeader Header
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ UCHAR _In_ UCHAR _In_ ULONG Code
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
_Reserved_ PVOID Reserved