Windows2003-3790/drivers/drivers/wdm/usb/driver/selsusp/sspwr.h
2020-09-30 16:53:55 +02:00

164 lines
3.0 KiB
C

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
sSPwr.h
Abstract:
Environment:
Kernel mode
Notes:
Copyright (c) 2000 Microsoft Corporation.
All Rights Reserved.
--*/
#ifndef __POWER_H
#define __POWER_H
typedef struct _POWER_COMPLETION_CONTEXT {
PDEVICE_OBJECT DeviceObject;
PIRP SIrp;
} POWER_COMPLETION_CONTEXT, *PPOWER_COMPLETION_CONTEXT;
typedef struct _WORKER_THREAD_CONTEXT {
PDEVICE_OBJECT DeviceObject;
PIRP Irp;
PIO_WORKITEM WorkItem;
} WORKER_THREAD_CONTEXT, *PWORKER_THREAD_CONTEXT;
NTSTATUS
SS_DispatchPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleSystemQueryPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleSystemSetPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HandleDeviceQueryPower(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
NTSTATUS
SysPoCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
VOID
SendDeviceIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
DevPoCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN PIO_STATUS_BLOCK IoStatus
);
NTSTATUS
HandleDeviceSetPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
FinishDevPoUpIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
SetDeviceFunctional(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
FinishDevPoDnIrp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
HoldIoRequests(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
HoldIoRequestsWorkerRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PVOID Context
);
NTSTATUS
QueueRequest(
IN OUT PDEVICE_EXTENSION DeviceExtension,
IN PIRP Irp
);
VOID
CancelQueued(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
WaitWakeCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PDEVICE_EXTENSION DeviceExtension
);
NTSTATUS
IssueWaitWake(
IN PDEVICE_EXTENSION DeviceExtension
);
VOID
CancelWaitWake(
IN PDEVICE_EXTENSION DeviceExtension
);
VOID
WaitWakeCallback(
IN PDEVICE_OBJECT DeviceObject,
IN UCHAR MinorFunction,
IN POWER_STATE PowerState,
IN PVOID Context,
IN PIO_STATUS_BLOCK IoStatus
);
PCHAR
PowerMinorFunctionString (
IN UCHAR MinorFunction
);
#endif