Source code of Windows XP (NT5)
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.

110 lines
1.5 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. batt.h
  5. Abstract:
  6. Battery Class Driver Header File
  7. Author:
  8. Ken Reneris
  9. Environment:
  10. Notes:
  11. Revision History:
  12. --*/
  13. //
  14. // Initialization structure
  15. //
  16. typedef
  17. NTSTATUS
  18. (*BCLASS_QUERY_TAG)(
  19. IN PVOID Context,
  20. OUT PULONG BatteryTag
  21. );
  22. typedef
  23. NTSTATUS
  24. (*BCLASS_QUERY_INFORMATION)(
  25. IN PVOID Context,
  26. IN ULONG BatteryTag,
  27. IN BATTERY_QUERY_INFORMATION_LEVEL Level,
  28. IN ULONG AtRate OPTIONAL,
  29. OUT PVOID Buffer,
  30. IN ULONG BufferLength,
  31. OUT PULONG ReturnedLength
  32. );
  33. typedef
  34. NTSTATUS
  35. (*BCLASS_QUERY_STATUS)(
  36. IN PVOID Context,
  37. IN ULONG BatteryTag,
  38. OUT PBATTERY_STATUS BatteryStatus
  39. );
  40. typedef
  41. NTSTATUS
  42. (*BCLASS_SET_STATUS_NOTIFY)(
  43. IN PVOID Context,
  44. IN ULONG BatteryTag,
  45. IN PBATTERY_NOTIFY BatteryNotify
  46. );
  47. typedef
  48. NTSTATUS
  49. (*BCLASS_DISABLE_STATUS_NOTIFY)(
  50. IN PVOID Context
  51. );
  52. #define BATTERY_CLASS_MAJOR_VERSION 0x0001
  53. #define BATTERY_CLASS_MINOR_VERSION 0x0000
  54. //
  55. // Class driver functions
  56. //
  57. #if !defined(BATTERYCLASS)
  58. #define BATTERYCLASSAPI DECLSPEC_IMPORT
  59. #else
  60. #define BATTERYCLASSAPI
  61. #endif
  62. NTSTATUS
  63. BATTERYCLASSAPI
  64. BatteryClassInitializeDevice (
  65. IN PBATTERY_MINIPORT_INFO MiniportInfo,
  66. IN PVOID *ClassData
  67. );
  68. NTSTATUS
  69. BATTERYCLASSAPI
  70. BatteryClassUnload (
  71. IN PVOID ClassData
  72. );
  73. NTSTATUS
  74. BATTERYCLASSAPI
  75. BatteryClassIoctl (
  76. IN PVOID ClassData,
  77. IN PIRP Irp
  78. );
  79. NTSTATUS
  80. BATTERYCLASSAPI
  81. BatteryClassStatusNotify (
  82. IN PVOID ClassData
  83. );