23 DPRINT(
"USBPORT_CompletePdoWaitWake: ... \n");
38 DPRINT(
"USBPORT_CompletePdoWaitWake: Complete Irp - %p\n",
Irp);
41 Irp->IoStatus.Information = 0;
57 DPRINT(
"USBPORT_HcWakeDpc: ... \n");
67 DPRINT(
"USBPORT_HcQueueWakeDpc: ... \n");
82 DPRINT(
"USBPORT_CompletePendingIdleIrp: ... \n");
94 DPRINT(
"USBPORT_CompletePendingIdleIrp: Complete Irp - %p\n",
Irp);
97 Irp->IoStatus.Information = 0;
106 DPRINT(
"USBPORT_DoSetPowerD0: FIXME!\n");
117 DPRINT1(
"USBPORT_SuspendController \n");
154 DPRINT1(
"USBPORT_ResumeController: ... \n");
177 FdoExtension->MiniPortFlags &= ~USBPORT_MPFLAG_SUSPENDED;
201 Packet->MiniPortResourcesSize);
249 DPRINT1(
"USBPORT_PdoDevicePowerState: Irp - %p, State - %x\n",
272 DPRINT1(
"USBPORT_PdoDevicePowerState: FdoExtension->Flags - %lx\n",
300 DPRINT(
"USBPORT_CancelPendingWakeIrp: ... \n");
316 Irp->IoStatus.Information = 0;
332 DPRINT(
"USBPORT_PdoPower: Irp - %p\n",
Irp);
344 DPRINT(
"USBPORT_PdoPower: IRP_MN_WAIT_WAKE\n");
365 DPRINT(
"USBPORT_PdoPower: IRP_MN_WAIT_WAKE - STATUS_CANCELLED\n");
378 DPRINT(
"USBPORT_PdoPower: IRP_MN_WAIT_WAKE - No WakeIrp\n");
394 DPRINT(
"USBPORT_PdoPower: IRP_MN_WAIT_WAKE - STATUS_DEVICE_BUSY\n");
410 DPRINT(
"USBPORT_PdoPower: IRP_MN_POWER_SEQUENCE\n");
415 DPRINT(
"USBPORT_PdoPower: IRP_MN_SET_POWER\n");
419 DPRINT(
"USBPORT_PdoPower: IRP_MN_SET_POWER/DevicePowerState\n");
425 DPRINT(
"USBPORT_PdoPower: IRP_MN_SET_POWER/SystemPowerState \n");
442 DPRINT(
"USBPORT_PdoPower: IRP_MN_QUERY_POWER\n");
448 DPRINT1(
"USBPORT_PdoPower: unknown IRP_MN_POWER!\n");
454 Irp->IoStatus.Information = 0;
465 DPRINT1(
"USBPORT_HcWake: UNIMPLEMENTED. FIXME. \n");
474 DPRINT1(
"USBPORT_DevicePowerState: UNIMPLEMENTED. FIXME. \n");
483 DPRINT1(
"USBPORT_SystemPowerState: UNIMPLEMENTED. FIXME. \n");
496 DPRINT(
"USBPORT_FdoPower: ... \n");
504 DPRINT(
"USBPORT_FdoPower: IRP_MN_WAIT_WAKE\n");
509 DPRINT(
"USBPORT_FdoPower: IRP_MN_POWER_SEQUENCE\n");
513 DPRINT(
"USBPORT_FdoPower: IRP_MN_SET_POWER\n");
529 DPRINT(
"USBPORT_FdoPower: IRP_MN_QUERY_POWER\n");
534 DPRINT1(
"USBPORT_FdoPower: unknown IRP_MN_POWER!\n");
555 PUSB_IDLE_CALLBACK_INFO IdleCallbackInfo;
558 DPRINT(
"USBPORT_DoIdleNotificationCallback \n");
582 if (IdleCallbackInfo && IdleCallbackInfo->IdleCallback)
584 IdleCallbackInfo->IdleCallback(IdleCallbackInfo->IdleContext);
604 FdoExtension->TimerFlags &= ~USBPORT_TMFLAG_IDLE_QUEUEITEM_ON;
621 DPRINT(
"USBPORT_IdleNotification: Irp - %p\n",
Irp);
629 if (LockCounter != 0)
636 Irp->IoStatus.Information = 0;
650 Irp->IoStatus.Information = 0;
675 DPRINT(
"USBPORT_AdjustDeviceCapabilities: ... \n");
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
#define InterlockedIncrement
#define InterlockedDecrement
NTKERNELAPI VOID NTAPI IoCsqInsertIrp(_Inout_ PIO_CSQ Csq, _Inout_ PIRP Irp, _Out_opt_ PIO_CSQ_IRP_CONTEXT Context)
Insert an IRP into the CSQ.
NTKERNELAPI PIRP NTAPI IoCsqRemoveNextIrp(_Inout_ PIO_CSQ Csq, _In_opt_ PVOID PeekContext)
IoCsqRemoveNextIrp - Removes the next IRP from the queue.
BOOLEAN NTAPI KeInsertQueueDpc(IN PKDPC Dpc, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
NTSTATUS NTAPI USBPORT_SystemPowerState(IN PDEVICE_OBJECT FdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_DoSetPowerD0(IN PDEVICE_OBJECT FdoDevice)
VOID NTAPI USBPORT_CompletePendingIdleIrp(IN PDEVICE_OBJECT PdoDevice)
VOID NTAPI USBPORT_HcWakeDpc(IN PRKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
NTSTATUS NTAPI USBPORT_FdoPower(IN PDEVICE_OBJECT FdoDevice, IN PIRP Irp)
NTSTATUS NTAPI USBPORT_PdoDevicePowerState(IN PDEVICE_OBJECT PdoDevice, IN PIRP Irp)
NTSTATUS NTAPI USBPORT_PdoPower(IN PDEVICE_OBJECT PdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_AdjustDeviceCapabilities(IN PDEVICE_OBJECT FdoDevice, IN PDEVICE_OBJECT PdoDevice)
NTSTATUS NTAPI USBPORT_IdleNotification(IN PDEVICE_OBJECT PdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_CompletePdoWaitWake(IN PDEVICE_OBJECT FdoDevice)
NTSTATUS NTAPI USBPORT_DevicePowerState(IN PDEVICE_OBJECT FdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_SuspendController(IN PDEVICE_OBJECT FdoDevice)
VOID NTAPI USBPORT_CancelPendingWakeIrp(IN PDEVICE_OBJECT PdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_HcQueueWakeDpc(IN PDEVICE_OBJECT FdoDevice)
NTSTATUS NTAPI USBPORT_HcWake(IN PDEVICE_OBJECT FdoDevice, IN PIRP Irp)
VOID NTAPI USBPORT_DoIdleNotificationCallback(IN PVOID Context)
NTSTATUS NTAPI USBPORT_ResumeController(IN PDEVICE_OBJECT FdoDevice)
VOID NTAPI USBPORT_FlushController(IN PDEVICE_OBJECT FdoDevice)
VOID NTAPI USBPORT_NukeAllEndpoints(IN PDEVICE_OBJECT FdoDevice)
#define KeReleaseSpinLock(sl, irql)
#define KeAcquireSpinLock(sl, irql)
#define KeQuerySystemTime(t)
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
NTSYSAPI void WINAPI DbgBreakPoint(void)
IoSetCancelRoutine(Irp, CancelRoutine)
#define ExFreePoolWithTag(_P, _T)
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
#define IoCopyCurrentIrpStackLocationToNext(Irp)
#define IoCompleteRequest
VOID NTAPI IoReleaseCancelSpinLock(IN KIRQL Irql)
VOID NTAPI PoStartNextPowerIrp(IN PIRP Irp)
#define STATUS_NOT_SUPPORTED
struct _IO_STACK_LOCATION::@1575::@1576 DeviceIoControl
struct _IO_STACK_LOCATION::@3974::@4010 Power
union _IO_STACK_LOCATION::@1575 Parameters
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define STATUS_UNSUCCESSFUL
#define STATUS_DEVICE_BUSY
VOID NTAPI USBPORT_MiniportInterrupts(IN PDEVICE_OBJECT FdoDevice, IN BOOLEAN IsEnable)
NTSTATUS NTAPI USBPORT_Wait(IN PVOID MiniPortExtension, IN ULONG Milliseconds)
#define USBPORT_MPFLAG_INTERRUPTS_ENABLED
#define USBPORT_TMFLAG_WAKE
#define USBPORT_TMFLAG_HC_SUSPENDED
#define USBPORT_FLAG_HC_SUSPEND
#define USBPORT_TMFLAG_RH_SUSPENDED
#define USBPORT_MPFLAG_SUSPENDED
#define USBPORT_FLAG_HC_STARTED
#define USBPORT_TMFLAG_HC_RESUME
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
#define IRP_MN_POWER_SEQUENCE
#define IRP_MN_QUERY_POWER
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
_In_opt_ PVOID DeferredContext
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2