|
ReactOS 0.4.17-dev-1281-g065abb3
|

Go to the source code of this file.
Macros | |
| #define | NDEBUG |
| #define | XFER_STD_TO_DEVICE 0x00 |
| #define | XFER_STD_TO_INTERFACE 0x01 |
| #define | XFER_STD_TO_ENDPOINT 0x02 |
| #define | XFER_STD_FROM_DEVICE 0x80 |
| #define | XFER_VENDOR_TO_DEVICE 0x40 |
| #define | XFER_VENDOR_FROM_DEVICE 0xC0 |
| #define | XFER_VENDOR_FROM_INTERFACE 0xC1 |
| #define | XFER_CLASS_FROM_PORT 0xA3 |
| #define | XFER_TYPE(RequestType) (((RequestType) >> 5) & 3) |
| #define | XFER_TYPE_STANDARD 0 |
| #define | XFER_TYPE_VENDOR 2 |
| #define | XFER_HEADER_READ 255 |
| #define | XFER_EXT_PROPERTIES_HEADER 10 |
| #define | XFER_SERIAL_LANGUAGE 0x0409 |
| #define | XFER_FUNCTION_SUSPEND_WAKE 0x0300 |
| #define | XFER_LOW_POWER_PORT 100 |
Variables | |
| static EVT_WDF_REQUEST_COMPLETION_ROUTINE | HubDeviceControlComplete |
| static EVT_WDF_REQUEST_COMPLETION_ROUTINE | HubFdoDescriptorComplete |
| static EVT_WDF_REQUEST_COMPLETION_ROUTINE | HubBootStatusComplete |
| _Out_ PULONG | PortStatus |
| HubControlRequest * | Control = &Child->m_BootControl |
| KEVENT | Done |
| NTSTATUS | Status |
| else | |
| #define NDEBUG |
Definition at line 11 of file devreq.cpp.
| #define XFER_CLASS_FROM_PORT 0xA3 |
Definition at line 22 of file devreq.cpp.
| #define XFER_EXT_PROPERTIES_HEADER 10 |
Definition at line 33 of file devreq.cpp.
| #define XFER_FUNCTION_SUSPEND_WAKE 0x0300 |
Definition at line 39 of file devreq.cpp.
| #define XFER_HEADER_READ 255 |
Definition at line 30 of file devreq.cpp.
| #define XFER_LOW_POWER_PORT 100 |
Definition at line 42 of file devreq.cpp.
| #define XFER_SERIAL_LANGUAGE 0x0409 |
Definition at line 36 of file devreq.cpp.
| #define XFER_STD_FROM_DEVICE 0x80 |
Definition at line 18 of file devreq.cpp.
| #define XFER_STD_TO_DEVICE 0x00 |
Definition at line 15 of file devreq.cpp.
| #define XFER_STD_TO_ENDPOINT 0x02 |
Definition at line 17 of file devreq.cpp.
| #define XFER_STD_TO_INTERFACE 0x01 |
Definition at line 16 of file devreq.cpp.
| #define XFER_TYPE | ( | RequestType | ) | (((RequestType) >> 5) & 3) |
Definition at line 25 of file devreq.cpp.
| #define XFER_TYPE_STANDARD 0 |
Definition at line 26 of file devreq.cpp.
| #define XFER_TYPE_VENDOR 2 |
Definition at line 27 of file devreq.cpp.
| #define XFER_VENDOR_FROM_DEVICE 0xC0 |
Definition at line 20 of file devreq.cpp.
| #define XFER_VENDOR_FROM_INTERFACE 0xC1 |
Definition at line 21 of file devreq.cpp.
| #define XFER_VENDOR_TO_DEVICE 0x40 |
Definition at line 19 of file devreq.cpp.
| _IRQL_requires_ | ( | PASSIVE_LEVEL | ) |
Sends a synchronous IOCTL to the specified device object.
| [in] | IoControlCode | The IOCTL to send to the device. |
| [in] | DeviceObject | Pointer to the device object that will handle the IOCTL. |
| [in] | InputBuffer | Optional pointer to a buffer containing input data for the IOCTL. When specified, the buffer should be at least of InputBufferLength size. |
| [in] | InputBufferLength | Size in bytes, of the buffer pointed by InputBuffer. |
| [out] | OutputBuffer | Optional pointer to a buffer that will receive output data from the IOCTL. When specified, the buffer should be at least of OutputBufferLength size. |
| [in] | OutputBufferLength | Size in bytes, of the buffer pointed by OutputBuffer. |
| [in] | FileObject | Optional pointer to a file object that may be necessary for the IOCTL. |
Nothing is found unless the PCI bus driver publishes the properties.
The root hub name without its prefix; NULL when the PDO has no name.
Grows a private buffer to what the helper asks for.
Lets KMDF handle the IRP, then hands it back here still uncompleted.
Waits for the device machine to answer a PnP or power event; returns the PnP status.
Deletes the UCX endpoints of the disabled pipes, then the interface record.
Definition at line 2121 of file class.c.
|
static |
Definition at line 1136 of file devreq.cpp.
|
static |
Definition at line 236 of file devreq.cpp.
|
static |
Requests a device may refuse without anything being wrong with it.
Definition at line 105 of file devreq.cpp.
Referenced by HubDeviceTransferFailed().
|
static |
Definition at line 377 of file devreq.cpp.
Referenced by DeviceMachine::ArmForWake(), DeviceMachine::DisableU1(), DeviceMachine::DisableU2(), DeviceMachine::DisarmWake(), DeviceMachine::EnableLtm(), DeviceMachine::EnableU1(), and DeviceMachine::EnableU2().
|
static |
Definition at line 327 of file devreq.cpp.
Referenced by HubDeviceGetString(), DeviceMachine::ReadBos(), DeviceMachine::ReadBosHeader(), DeviceMachine::ReadConfigDescriptorHeader(), DeviceMachine::ReadDeviceDescriptor(), DeviceMachine::ReadFirstDescriptor(), DeviceMachine::ReadFullConfigDescriptor(), DeviceMachine::ReadMsOsDescriptor(), and DeviceMachine::ReadQualifier().
|
static |
Definition at line 348 of file devreq.cpp.
Referenced by DeviceMachine::ReadBillboardString(), DeviceMachine::ReadLanguageIds(), DeviceMachine::ReadProductName(), and DeviceMachine::ReadSerialNumber().
|
static |
Definition at line 364 of file devreq.cpp.
Referenced by DeviceMachine::ReadContainerId(), DeviceMachine::ReadContainerIdHeader(), DeviceMachine::ReadExtendedConfig(), DeviceMachine::ReadExtendedConfigHeader(), DeviceMachine::ReadExtProperties(), DeviceMachine::ReadExtPropertiesHeader(), and DeviceMachine::ReadMsOs20Set().
|
static |
Definition at line 307 of file devreq.cpp.
Referenced by DeviceMachine::ArmForWake(), DeviceMachine::ClearEndpointHalt(), DeviceMachine::DisarmWake(), HubDeviceFeature(), HubDeviceGetDescriptor(), HubDeviceMsOsRead(), DeviceMachine::SendAltEnumCommand(), DeviceMachine::SendUsbFeatures(), DeviceMachine::SetConfiguration(), DeviceMachine::SetIsochDelay(), DeviceMachine::SetNullConfiguration(), DeviceMachine::SetPdChargingPolicy(), and DeviceMachine::SetSel().
| BOOLEAN NTAPI HubDeviceSend | ( | _In_ HubChild * | Child, |
| _In_reads_bytes_opt_(Length) PVOID | Buffer, | ||
| _In_ ULONG | Length, | ||
| _In_ BOOLEAN | ShortTransferOk | ||
| ) |
Sends the setup packet in Child->m_Control; on FALSE the caller posts TransferFailed.
Definition at line 262 of file devreq.cpp.
Referenced by HubDeviceTrySend(), DeviceMachine::ReadAltModeString(), and DeviceMachine::SetInterface().
Definition at line 57 of file devreq.cpp.
Referenced by HubDeviceTransferFailed().
|
static |
Records why the transfer failed and picks the event to post.
Definition at line 131 of file devreq.cpp.
Referenced by HubDeviceControlComplete().
|
static |
Definition at line 290 of file devreq.cpp.
Referenced by HubDeviceRequest().
|
static |
Definition at line 1087 of file devreq.cpp.
| HubPipe *NTAPI HubFindPipeByHandle | ( | _In_opt_ HubConfiguration * | Config, |
| _In_ USBD_PIPE_HANDLE | Handle | ||
| ) |
Pipe of Config whose USBD pipe handle is Handle, or NULL. The caller protects Config.
Definition at line 858 of file devreq.cpp.
Referenced by DeviceMachine::FindClientPipe().
Definition at line 395 of file devreq.cpp.
Referenced by DeviceMachine::ReadBosHeader(), DeviceMachine::ReadConfigDescriptorHeader(), DeviceMachine::ReadExtendedConfigHeader(), DeviceMachine::ReadLanguageIds(), DeviceMachine::ReadMsOs20Set(), and DeviceMachine::ReadProductName().
|
static |
Path exit latency for one link state; Slowest is set when Link exceeds it.
Definition at line 988 of file devreq.cpp.
Referenced by DeviceMachine::SetSel().
| if | ( | ! | NT_SUCCESSStatus | ) |
Definition at line 1169 of file devreq.cpp.
| PAGED_CODE | ( | ) |
| Control SetSetup | ( | XFER_CLASS_FROM_PORT | , |
| HUB_REQUEST_GET_STATUS | , | ||
| 0 | , | ||
| Child->m_Port-> | Number(), | ||
| sizeof * | PortStatus | ||
| ) |
| HubControlRequest* Control = &Child->m_BootControl |
Definition at line 1161 of file devreq.cpp.
| HubWaitForPnpEvent & Done |
Definition at line 1162 of file devreq.cpp.
Referenced by FxIoQueue::_Create(), FxDevice::_Create(), FxMessageDispatch::_CreateAndInitialize(), FxWmiIrpHandler::_EnableDisableEventsAndCollection(), FxUsbPipe::_FormatTransfer(), _IRQL_requires_(), FxWmiIrpHandler::_QueryAllData(), FxWmiIrpHandler::_RegInfo(), _Releases_lock_(), acpi_bus_match(), FxPkgGeneral::AcquireRemoveLockForClose(), AddInputEvents(), FxWmiIrpHandler::AddPowerPolicyProviderAndInstance(), FxDeviceBase::AllocateTarget(), FxUsbDeviceControlContext::AllocateUrb(), FxUsbDeviceStringContext::AllocateUrb(), FxUsbPipeTransferContext::AllocateUrb(), FxUsbPipeRequestContext::AllocateUrb(), ApplyConsoleInfo(), ArcOpen(), AtaAhciHandleFatalError(), AtaAhciPostRequestPolled(), BT958HwResetBus(), XhciEndpoint::BuildEndpointConfigure(), XhciEndpoint::BuildSetDequeue(), BusLogic_Command(), BusLogic_SendBusDeviceReset(), CM_Get_Device_ID_List_ExA(), CM_Get_Device_Interface_Alias_ExA(), CM_Get_Device_Interface_List_ExA(), CM_Register_Device_Interface_ExA(), UcxUsbDevice::CompleteHubOperation(), ConDrvCreateController(), FxPkgGeneral::ConfigureConstraints(), FxDeviceBase::ConfigureConstraints(), FxPkgIo::ConfigureDynamicDispatching(), FxPkgGeneral::ConfigureFileObjectClass(), FxUsbDevice::CreateInterfaces(), FxUsbDevice::CreateIsochUrb(), FxUsbDevice::CreateUrb(), DcResetWorker(), DirPrintf(), FxWmiIrpHandler::Dispatch(), FxDevice::DispatchPreprocessedIrp(), DosAllocateMemory(), DosResizeMemory(), DosTerminateProcess(), DrvCopyBits(), ElfCreateBackupLogHandle(), ElfCreateEventLogHandle(), ElfrReportEventA(), FX_VF_METHOD(), FxCacheBugCheckDriverInfo(), FxInitializeBugCheckDriverInfo(), FxLibraryCommonRegisterClient(), FxObjectAllocateContext(), FxpLibraryBugCheckCallback(), FxPurgeBugCheckDriverInfo(), FxRegisterBugCheckCallback(), FxUninitializeBugCheckDriverInfo(), FxUnregisterBugCheckCallback(), FxRequest::GetDeviceControlOutputMemoryObject(), FxRequest::GetMemoryObject(), FxChildList::GetNextDevice(), FxChildList::GetNextStaticDevice(), GetServiceInstanceList(), GetServiceInstanceListSize(), GetStackCapabilities(), FxUsbDevice::GetString(), GetSystemUserInfo(), FxPkgPnp::HandleQueryDeviceRelations(), FxPkgPnp::HandleQueryInterface(), HubClearTtBuffer(), if(), FxUsbDevice::InitDevice(), FxPkgGeneral::Initialize(), FxNPagedLookasideList::Initialize(), KdbpDoCommand(), LsapCreateDatabaseKeys(), LsapGetObjectAttribute(), LsarQueryAccountDomain(), LsarQueryPrimaryDomain(), FxUsbInterface::MakeAndConfigurePipes(), MmUnloadSystemImage(), NtfsCachedRead(), FxIoTargetRemote::Open(), PagePrompt(), PNP_AddID(), PNP_GetRootDeviceInstance(), PNP_ValidateDeviceInstance(), FxPkgPnp::PnpMatchResources(), FxRequest::ProbeAndLockForRead(), FxRequest::ProbeAndLockForWrite(), FxChildList::ProcessBusRelations(), PS2PortQueueRead(), PS2QueuePush(), RDeleteService(), _FX_DRIVER_TRACKER_CACHE_AWARE::Register(), REnumDependentServicesA(), REnumDependentServicesW(), REnumServiceGroupW(), REnumServicesStatusA(), REnumServicesStatusExA(), REnumServicesStatusExW(), ROpenServiceW(), RQueryServiceConfigA(), RQueryServiceConfigW(), RSetServiceObjectSecurity(), ScmSendControlPacket(), FxTransactionedList::SearchForAndRemove(), FxUsbDevice::SelectConfig(), FxUsbDevice::SelectConfigMulti(), FxUsbInterface::SelectSetting(), FxUsbDevice::SendSyncRequest(), SRomReadSRom(), START_TEST(), UcxUsbDevice::StartOperation(), FxIoTarget::SubmitLocked(), switch(), UsbdexCallAndWait(), FxPkgPnp::ValidateCmResource(), FxPkgPnp::ValidateInterruptResourceCm(), VerifyWdfDeviceWdmDispatchIrpToIoQueue(), and VerifyWdfRequestForwardToParentDeviceIoQueue().
| else |
Definition at line 1178 of file devreq.cpp.
|
static |
Definition at line 49 of file devreq.cpp.
|
static |
Definition at line 47 of file devreq.cpp.
Referenced by HubDeviceSend().
|
static |
Definition at line 48 of file devreq.cpp.
Referenced by DeviceMachine::GetDescriptorForHub().
| * PortStatus |
Definition at line 1163 of file devreq.cpp.
Referenced by HubDeviceSend(), HubDeviceTransferFailed(), and if().