mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 16:11:24 +00:00
Implemented NDIS timer functions.
svn path=/trunk/; revision=4731
This commit is contained in:
parent
ecd7b2f8f3
commit
74592b5432
1 changed files with 46 additions and 3 deletions
|
@ -10,12 +10,28 @@
|
||||||
#include <ndissys.h>
|
#include <ndissys.h>
|
||||||
|
|
||||||
|
|
||||||
|
VOID STDCALL
|
||||||
|
MiniportTimerDpc(
|
||||||
|
PKDPC Dpc,
|
||||||
|
PVOID DeferredContext,
|
||||||
|
PVOID SystemArgument1,
|
||||||
|
PVOID SystemArgument2)
|
||||||
|
{
|
||||||
|
PNDIS_MINIPORT_TIMER Timer;
|
||||||
|
|
||||||
|
Timer = (PNDIS_MINIPORT_TIMER)DeferredContext;
|
||||||
|
|
||||||
|
Timer->MiniportTimerFunction (NULL, Timer->MiniportTimerContext, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
EXPORT
|
EXPORT
|
||||||
NdisCancelTimer(
|
NdisCancelTimer(
|
||||||
IN PNDIS_TIMER Timer,
|
IN PNDIS_TIMER Timer,
|
||||||
OUT PBOOLEAN TimerCancelled)
|
OUT PBOOLEAN TimerCancelled)
|
||||||
{
|
{
|
||||||
|
*TimerCancelled = KeCancelTimer (&Timer->Timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,6 +40,7 @@ EXPORT
|
||||||
NdisGetCurrentSystemTime (
|
NdisGetCurrentSystemTime (
|
||||||
IN OUT PLONGLONG pSystemTime)
|
IN OUT PLONGLONG pSystemTime)
|
||||||
{
|
{
|
||||||
|
KeQuerySystemTime (pSystemTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,6 +51,9 @@ NdisInitializeTimer(
|
||||||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||||
IN PVOID FunctionContext)
|
IN PVOID FunctionContext)
|
||||||
{
|
{
|
||||||
|
KeInitializeTimer (&Timer->Timer);
|
||||||
|
|
||||||
|
KeInitializeDpc (&Timer->Dpc, TimerFunction, FunctionContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,6 +63,7 @@ NdisMCancelTimer(
|
||||||
IN PNDIS_MINIPORT_TIMER Timer,
|
IN PNDIS_MINIPORT_TIMER Timer,
|
||||||
OUT PBOOLEAN TimerCancelled)
|
OUT PBOOLEAN TimerCancelled)
|
||||||
{
|
{
|
||||||
|
*TimerCancelled = KeCancelTimer (&Timer->Timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,15 +75,27 @@ NdisMInitializeTimer(
|
||||||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||||
IN PVOID FunctionContext)
|
IN PVOID FunctionContext)
|
||||||
{
|
{
|
||||||
|
KeInitializeTimer (&Timer->Timer);
|
||||||
|
|
||||||
|
KeInitializeDpc (&Timer->Dpc, MiniportTimerDpc, (PVOID) Timer);
|
||||||
|
|
||||||
|
Timer->MiniportTimerFunction = TimerFunction;
|
||||||
|
Timer->MiniportTimerContext = FunctionContext;
|
||||||
|
Timer->Miniport = MiniportAdapterHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
EXPORT
|
EXPORT
|
||||||
NdisMSetPeriodicTimer(
|
NdisMSetPeriodicTimer(
|
||||||
IN PNDIS_MINIPORT_TIMER Timer,
|
IN PNDIS_MINIPORT_TIMER Timer,
|
||||||
IN UINT MillisecondsPeriod)
|
IN UINT MillisecondsPeriod)
|
||||||
{
|
{
|
||||||
|
LARGE_INTEGER Timeout;
|
||||||
|
|
||||||
|
Timeout.QuadPart = MillisecondsPeriod * -10000;
|
||||||
|
|
||||||
|
KeSetTimerEx (&Timer->Timer, Timeout, MillisecondsPeriod, &Timer->Dpc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,6 +105,11 @@ NdisMSetTimer(
|
||||||
IN PNDIS_MINIPORT_TIMER Timer,
|
IN PNDIS_MINIPORT_TIMER Timer,
|
||||||
IN UINT MillisecondsToDelay)
|
IN UINT MillisecondsToDelay)
|
||||||
{
|
{
|
||||||
|
LARGE_INTEGER Timeout;
|
||||||
|
|
||||||
|
Timeout.QuadPart = MillisecondsToDelay * -10000;
|
||||||
|
|
||||||
|
KeSetTimer (&Timer->Timer, Timeout, &Timer->Dpc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,6 +119,11 @@ NdisSetTimer(
|
||||||
IN PNDIS_TIMER Timer,
|
IN PNDIS_TIMER Timer,
|
||||||
IN UINT MillisecondsToDelay)
|
IN UINT MillisecondsToDelay)
|
||||||
{
|
{
|
||||||
|
LARGE_INTEGER Timeout;
|
||||||
|
|
||||||
|
Timeout.QuadPart = MillisecondsToDelay * -10000;
|
||||||
|
|
||||||
|
KeSetTimer (&Timer->Timer, Timeout, &Timer->Dpc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue