Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.7 KiB

  1. typedef NTSTATUS (*ACPICALLBACKROUTINE)(
  2. IN PDEVICE_OBJECT DeviceObject,
  3. IN PIRP Irp,
  4. IN PVOID Context,
  5. IN BOOLEAN CalledInCompletion
  6. ) ;
  7. NTSTATUS
  8. ACPIIrpSetPagableCompletionRoutineAndForward(
  9. IN PDEVICE_OBJECT DeviceObject,
  10. IN PIRP Irp,
  11. IN ACPICALLBACKROUTINE CompletionRoutine,
  12. IN PVOID Context,
  13. IN BOOLEAN InvokeOnSuccess,
  14. IN BOOLEAN InvokeIfUnhandled,
  15. IN BOOLEAN InvokeOnError,
  16. IN BOOLEAN InvokeOnCancel
  17. );
  18. NTSTATUS
  19. ACPIIrpInvokeDispatchRoutine(
  20. IN PDEVICE_OBJECT DeviceObject,
  21. IN PIRP Irp,
  22. IN PVOID Context,
  23. IN ACPICALLBACKROUTINE CompletionRoutine,
  24. IN BOOLEAN InvokeOnSuccess,
  25. IN BOOLEAN InvokeIfUnhandled
  26. );
  27. //
  28. // These functions are private to acpiirp.c
  29. //
  30. typedef struct {
  31. PDEVICE_OBJECT DeviceObject ;
  32. PIRP Irp ;
  33. ACPICALLBACKROUTINE CompletionRoutine ;
  34. BOOLEAN InvokeOnSuccess ;
  35. BOOLEAN InvokeIfUnhandled ;
  36. BOOLEAN InvokeOnError ;
  37. BOOLEAN InvokeOnCancel ;
  38. PIO_WORKITEM IoWorkItem ;
  39. PVOID Context ;
  40. } ACPI_IO_CONTEXT, *PACPI_IO_CONTEXT ;
  41. NTSTATUS
  42. ACPIIrpGenericFilterCompletionHandler(
  43. IN PDEVICE_OBJECT DeviceObject,
  44. IN PIRP Irp,
  45. IN PVOID Context
  46. );
  47. VOID
  48. ACPIIrpCompletionRoutineWorker(
  49. IN PDEVICE_OBJECT DeviceObject,
  50. IN PVOID Context
  51. );