|
ReactOS 0.4.17-dev-1281-g065abb3
|
#include "usbhub3.h"#include "hubregistry.h"#include <debug.h>#include <pshpack1.h>#include <poppack.h>
Go to the source code of this file.
Classes | |
| struct | HubMsOsExtPropHeader |
| struct | HubMsOsCustomProperty |
Functions | |
| C_ASSERT (sizeof(HubMsOsExtPropHeader)==10) | |
| C_ASSERT (sizeof(HubMsOsCustomProperty)==10) | |
| static BOOLEAN NTAPI | HubMsOsVersionAllowed (_In_ HubChild *Child) |
| static BOOLEAN NTAPI | HubHasMsOs20SetInfo (_In_ HubChild *Child) |
| static const HubMsOsExtPropHeader *NTAPI | HubExtPropHeader (_In_ HubChild *Child) |
| _IRQL_requires_ (PASSIVE_LEVEL) static NTSTATUS NTAPI HubInstallMsOs20Property(_In_ HubChild *Child | |
| Sends a synchronous IOCTL to the specified device object. | |
| RtlCopyMemory & | DataLength (DataLength) |
| while (ValueName.Length< Property->wPropertyNameLength &&ValueName.Buffer[ValueName.Length/sizeof(WCHAR)] !=UNICODE_NULL) | |
| return | HubWriteDeviceValue (Child, &ValueName, Property->wPropertyDataType, DataLength,(PVOID)(Tail+sizeof(DataLength))) |
| static BOOLEAN NTAPI | HubCustomPropertyValid (_In_reads_bytes_(Total) const UCHAR *Buffer, _In_ ULONG Total, _In_ ULONG Offset, _Out_ PULONG Size) |
Variables | |
| _In_ const HubMsOs20Registry * | Property |
| const UCHAR * | Tail = Name + Property->wPropertyNameLength |
| UNICODE_STRING | ValueName |
| USHORT | DataLength |
| ValueName | Buffer = (PWCHAR)Name |
| ValueName | Length = 0 |
| ValueName | MaximumLength = ValueName.Length |
| #define MSOS20_TYPE_REGISTRY_PROPERTY 4 |
Definition at line 23 of file hubmsos.cpp.
| #define MSOS_CUSTOM_PROPERTY_FIXED (sizeof(HubMsOsCustomProperty) + sizeof(ULONG)) |
Definition at line 50 of file hubmsos.cpp.
| #define MSOS_EXT_PROPERTIES_INDEX 5 |
Definition at line 18 of file hubmsos.cpp.
| #define MSOS_EXT_PROPERTIES_MAX 4096 |
Definition at line 20 of file hubmsos.cpp.
| #define MSOS_EXT_PROPERTIES_VERSION 0x0100 |
Definition at line 19 of file hubmsos.cpp.
| #define MSOS_FLAG_CONTAINER_ID 0x02 |
Definition at line 15 of file hubmsos.cpp.
| #define NDEBUG |
Definition at line 11 of file hubmsos.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.
One 4 byte value; the registry type is not checked.
Reread whenever user experience settings change; the open status is returned.
Sends a synchronous IOCTL to the specified device object.
STATUS_SUCCESS when the caller's token is an administrator's.
Definition at line 2121 of file class.c.
| C_ASSERT | ( | sizeof(HubMsOsCustomProperty) | = =10 | ) |
| C_ASSERT | ( | sizeof(HubMsOsExtPropHeader) | = =10 | ) |
|
static |
Definition at line 433 of file hubmsos.cpp.
Referenced by DeviceMachine::ExtPropertiesValid().
|
static |
Definition at line 76 of file hubmsos.cpp.
Referenced by DeviceMachine::AllocateExtPropertiesBuffer(), DeviceMachine::ExtPropertiesHeaderValid(), and DeviceMachine::ExtPropertiesValid().
Definition at line 67 of file hubmsos.cpp.
Referenced by DeviceMachine::ContainerIdWanted(), DeviceMachine::ExtPropertiesWanted(), DeviceMachine::MsOs20Supported(), DeviceMachine::MsOsExtendedConfigSupported(), and DeviceMachine::MsOsQueryWanted().
Definition at line 56 of file hubmsos.cpp.
Referenced by DeviceMachine::ContainerIdWanted(), DeviceMachine::MsOsExtendedConfigSupported(), and DeviceMachine::MsOsQueryWanted().
| return HubWriteDeviceValue | ( | Child | , |
| & | ValueName, | ||
| Property-> | wPropertyDataType, | ||
| DataLength | , | ||
| (PVOID)(Tail+sizeof(DataLength)) | |||
| ) |
Referenced by DeviceMachine::SetExtPropertiesSemaphore(), and DeviceMachine::WriteCustomProperties().
| while | ( | ValueName.Length< Property->wPropertyNameLength &&ValueName.Buffer ! | [ValueName.Length/sizeof(WCHAR)] = UNICODE_NULL | ) |
Definition at line 154 of file hubmsos.cpp.
Definition at line 147 of file hubmsos.cpp.
Referenced by HubCustomPropertyValid().
Definition at line 153 of file hubmsos.cpp.
Definition at line 159 of file hubmsos.cpp.
Definition at line 145 of file hubmsos.cpp.
Referenced by AfdCancelHandler(), AfdCleanupSocket(), AfdDisconnect(), AtaDeviceFlushPowerIrpQueue(), AtaPortDeviceProcessPowerChange(), BeepCleanup(), CaptureAvoidPipeStarvationWorker(), ClasspDequeueIdleRequest(), ClasspRetryRequestDpc(), ClassRemoveCScanList(), ConvertLargeMCBToDataRuns(), CsqPeekNextIrp(), DECLSPEC_ALIGN(), DequeueDeferredClientIrp(), DisconnectComplete(), DiskFlushComplete(), Ext2FirstUnusedMcb(), FDO_HandleResetCyclePort(), FltpGetNextMessageWaiter(), FreeBT_DispatchClean(), FsRtlCancelNotify(), FsRtlCancelOplockIIIrp(), FsRtlNotifyCompleteIrpList(), FsRtlNotifyFilterReportChange(), FsRtlOplockBreakToNone(), FsRtlOplockCleanup(), FsRtlRequestExclusiveOplock(), FsRtlUninitializeOplock(), HidClass_Close(), HidClass_GetIrp(), IoGetNextIrpStackLocation(), IopAbortIrpKernelApc(), IopCompleteRequest(), IopDeleteIoCompletion(), IopFreeIrpKernelApc(), IopStartNextPacket(), IopStartNextPacketByKey(), KsCancelIo(), KsMoveIrpsOnCancelableQueue(), KspCompletePendingIrps(), KsRemoveIrpFromCancelableQueue(), LanCloseProtocol(), XhciIsochRing::LayoutStage(), ListenComplete(), LockPeekNextIrp(), MkFinalize(), MkIndxFixup(), MountMgrCleanup(), MountMgrNotify(), MsfsPeekNextIrp(), NpCancelWaiter(), NpCheckForNotify(), NpCompleteDeferredIrps(), NpSetClosingPipeState(), NpSetConnectedPipeState(), NpSetDisconnectedPipeState(), NtRemoveIoCompletion(), PacketSocketRecvComplete(), PacketSocketSendComplete(), PinCaptureProcess(), PinGetIrpFromReadyList(), PortStarvedCsqPeekNextIrp(), ProcessQueuedRequests(), ProtocolTransferDataComplete(), ReceiveActivity(), ReceiveComplete(), RemoveHeadList_IRP(), RtlExpandEnvironmentStrings(), ScsiPortDispatchScsi(), SendComplete(), SpiGetNextRequestFromLun(), StartCaptureIsocTransfer(), StreamSocketConnectComplete(), StreamSocketConnectSendComplete(), USBPORT_FlushAbortList(), USBPORT_PeekNextBadRequest(), USBPORT_PeekNextIdleIrp(), USBSTOR_RemoveIrp(), VfdDeviceThread(), and DeviceMachine::WriteCustomProperties().
Definition at line 146 of file hubmsos.cpp.