windows-nt/Source/XPSP1/NT/base/busdrv/acpi/driver/nt/acpiirp.h

62 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
typedef NTSTATUS (*ACPICALLBACKROUTINE)(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context,
IN BOOLEAN CalledInCompletion
) ;
NTSTATUS
ACPIIrpSetPagableCompletionRoutineAndForward(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN ACPICALLBACKROUTINE CompletionRoutine,
IN PVOID Context,
IN BOOLEAN InvokeOnSuccess,
IN BOOLEAN InvokeIfUnhandled,
IN BOOLEAN InvokeOnError,
IN BOOLEAN InvokeOnCancel
);
NTSTATUS
ACPIIrpInvokeDispatchRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context,
IN ACPICALLBACKROUTINE CompletionRoutine,
IN BOOLEAN InvokeOnSuccess,
IN BOOLEAN InvokeIfUnhandled
);
//
// These functions are private to acpiirp.c
//
typedef struct {
PDEVICE_OBJECT DeviceObject ;
PIRP Irp ;
ACPICALLBACKROUTINE CompletionRoutine ;
BOOLEAN InvokeOnSuccess ;
BOOLEAN InvokeIfUnhandled ;
BOOLEAN InvokeOnError ;
BOOLEAN InvokeOnCancel ;
PIO_WORKITEM IoWorkItem ;
PVOID Context ;
} ACPI_IO_CONTEXT, *PACPI_IO_CONTEXT ;
NTSTATUS
ACPIIrpGenericFilterCompletionHandler(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
VOID
ACPIIrpCompletionRoutineWorker(
IN PDEVICE_OBJECT DeviceObject,
IN PVOID Context
);