10 IN DEVICE_REGISTRY_PROPERTY DeviceProperty
,
11 IN ULONG BufferLength
,
12 OUT PVOID PropertyBuffer
,
13 OUT PULONG ResultLength
)
15 return IoGetDeviceProperty(DeviceObject
, DeviceProperty
, BufferLength
, PropertyBuffer
, ResultLength
);
26 LARGE_INTEGER CurrentTime
;
28 KeQuerySystemTime(&CurrentTime
);
30 return (CurrentTime
.QuadPart
- Since
);
38 IN PDEVICE_OBJECT pDeviceObject
,
39 IN PIO_TIMER_ROUTINE pTimerRoutine
,
46 * check if timer is already used
49 Status
= IoInitializeTimer(pDeviceObject
, pTimerRoutine
, pContext
);
50 if (!NT_SUCCESS(Status
))
52 DPRINT("IoInitializeTimer failed with %x\n", Status
);
56 IoStartTimer(pDeviceObject
);
57 return STATUS_SUCCESS
;
64 PcUnregisterIoTimeout(
65 IN PDEVICE_OBJECT pDeviceObject
,
66 IN PIO_TIMER_ROUTINE pTimerRoutine
,
70 * check if timer is already used
73 IoStopTimer(pDeviceObject
);
74 return STATUS_SUCCESS
;