#include "cmbatt.h"
#include <acpiioct.h>
#include <debug.h>
Go to the source code of this file.
|
NTSTATUS NTAPI | GetDwordElement (IN PACPI_METHOD_ARGUMENT Argument, OUT PULONG Value) |
|
NTSTATUS NTAPI | GetStringElement (IN PACPI_METHOD_ARGUMENT Argument, OUT PCHAR Value) |
|
NTSTATUS NTAPI | CmBattSendDownStreamIrp (IN PDEVICE_OBJECT DeviceObject, IN ULONG IoControlCode, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PACPI_EVAL_OUTPUT_BUFFER OutputBuffer, IN ULONG OutputBufferLength) |
|
NTSTATUS NTAPI | CmBattGetPsrData (IN PDEVICE_OBJECT DeviceObject, OUT PULONG PsrData) |
|
NTSTATUS NTAPI | CmBattGetStaData (IN PDEVICE_OBJECT DeviceObject, OUT PULONG StaData) |
|
NTSTATUS NTAPI | CmBattGetUniqueId (IN PDEVICE_OBJECT DeviceObject, OUT PULONG UniqueId) |
|
NTSTATUS NTAPI | CmBattSetTripPpoint (IN PCMBATT_DEVICE_EXTENSION DeviceExtension, IN ULONG AlarmValue) |
|
NTSTATUS NTAPI | CmBattGetBifData (PCMBATT_DEVICE_EXTENSION DeviceExtension, PACPI_BIF_DATA BifData) |
|
NTSTATUS NTAPI | CmBattGetBstData (PCMBATT_DEVICE_EXTENSION DeviceExtension, PACPI_BST_DATA BstData) |
|
◆ CmBattGetBifData()
◆ CmBattGetBstData()
◆ CmBattGetPsrData()
Definition at line 156 of file cmexec.c.
158{
164 DbgPrint(
"CmBattGetPsrData: Entered with Pdo %x Tid %x\n",
166
167
169 *PsrData = 0;
170
171
174
175
183 {
184
187 DbgPrint(
"CmBattGetPsrData: _PSR method returned %x \n", *PsrData);
188 }
190 {
191
192 DbgPrint(
"CmBattGetPsrData: Failed _PSR method - Status (0x%x)\n",
Status);
193 }
194
195
197}
#define ACPI_EVAL_INPUT_BUFFER_SIGNATURE
#define IOCTL_ACPI_EVAL_METHOD
NTSTATUS NTAPI CmBattSendDownStreamIrp(IN PDEVICE_OBJECT DeviceObject, IN ULONG IoControlCode, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PACPI_EVAL_OUTPUT_BUFFER OutputBuffer, IN ULONG OutputBufferLength)
NTSTATUS NTAPI GetDwordElement(IN PACPI_METHOD_ARGUMENT Argument, OUT PULONG Value)
#define NT_SUCCESS(StatCode)
#define KeGetCurrentThread
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
◆ CmBattGetStaData()
Definition at line 201 of file cmexec.c.
203{
209 DbgPrint(
"CmBattGetStaData: Entered with Pdo %x Tid %x\n",
211
212
214 *StaData = 0;
215
216
219
220
228 {
229
232 DbgPrint(
"CmBattGetStaData: _STA method returned %x \n", *StaData);
233 }
235 {
236
237 DbgPrint(
"CmBattGetStaData: Failed _STA method - Status (0x%x)\n",
Status);
239 }
240
241
243}
#define STATUS_NO_SUCH_DEVICE
◆ CmBattGetUniqueId()
Definition at line 247 of file cmexec.c.
249{
255 DbgPrint(
"CmBattGetUniqueId: Entered with Pdo %x Tid %x\n",
257
258
260 *UniqueId = 0;
261
262
265
266
274 {
275
278 DbgPrint(
"CmBattGetUniqueId: _UID method returned %x \n", *UniqueId);
279 }
281 {
282
283 DbgPrint(
"CmBattGetUniqueId: Failed _UID method - Status (0x%x)\n",
Status);
285 }
286
287
289}
◆ CmBattSendDownStreamIrp()
Definition at line 85 of file cmexec.c.
91{
97
98
100
101
108 0,
112 {
113
115 DbgPrint(
"CmBattSendDownStreamIrp: Failed to allocate Irp\n");
117 }
118
119
121 DbgPrint(
"CmBattSendDownStreamIrp: Irp %x [Tid] %x\n",
125 {
126
133 }
134
135
137 {
138
141 {
142
144 }
145 }
146
147
149 DbgPrint(
"CmBattSendDownStreamIrp: Irp %x completed %x! [Tid] %x\n",
152}
#define ACPI_EVAL_OUTPUT_BUFFER_SIGNATURE
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
static OUT PIO_STATUS_BLOCK IoStatusBlock
PIRP NTAPI IoBuildDeviceIoControlRequest(IN ULONG IoControlCode, IN PDEVICE_OBJECT DeviceObject, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
#define STATUS_ACPI_INVALID_DATA
#define STATUS_INSUFFICIENT_RESOURCES
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
Referenced by CmBattGetPsrData(), CmBattGetStaData(), CmBattGetUniqueId(), and CmBattSetTripPpoint().
◆ CmBattSetTripPpoint()
Definition at line 293 of file cmexec.c.
295{
300 DbgPrint(
"CmBattSetTripPpoint: _BTP Alarm Value %x Device %x Tid %x\n",
302
303
307
308
314 0);
316 DbgPrint(
"CmBattSetTripPpoint: Failed _BTP method on device %x - Status (0x%x)\n",
317 DeviceExtension->DeviceId,
Status);
318
319
321}
#define ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_SIGNATURE
◆ GetDwordElement()
Definition at line 20 of file cmexec.c.
22{
24
25
27 {
28
31 DbgPrint(
"GetDwordElement: Object contained wrong data type - %d\n",
32 Argument->Type);
33 }
34 else
35 {
36
37 *
Value = Argument->Argument;
39 }
40
41
43}
#define ACPI_METHOD_ARGUMENT_INTEGER
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Referenced by CmBattGetPsrData(), CmBattGetStaData(), and CmBattGetUniqueId().
◆ GetStringElement()
Definition at line 47 of file cmexec.c.
49{
51
52
55 {
56
57 if (Argument->DataLength < 256)
58 {
59
62 }
63 else
64 {
65
68 DbgPrint(
"GetStringElement: return buffer not big enough - %d\n", Argument->DataLength);
69 }
70 }
71 else
72 {
73
76 DbgPrint(
"GetStringElement: Object contained wrong data type - %d\n", Argument->Type);
77 }
78
79
81}
#define ACPI_METHOD_ARGUMENT_STRING
#define ACPI_METHOD_ARGUMENT_BUFFER
#define STATUS_BUFFER_TOO_SMALL
#define RtlCopyMemory(Destination, Source, Length)