mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 05:11:26 +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>
|
||||
|
||||
|
||||
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
|
||||
EXPORT
|
||||
NdisCancelTimer(
|
||||
IN PNDIS_TIMER Timer,
|
||||
OUT PBOOLEAN TimerCancelled)
|
||||
{
|
||||
*TimerCancelled = KeCancelTimer (&Timer->Timer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -24,6 +40,7 @@ EXPORT
|
|||
NdisGetCurrentSystemTime (
|
||||
IN OUT PLONGLONG pSystemTime)
|
||||
{
|
||||
KeQuerySystemTime (pSystemTime);
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,6 +51,9 @@ NdisInitializeTimer(
|
|||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||
IN PVOID FunctionContext)
|
||||
{
|
||||
KeInitializeTimer (&Timer->Timer);
|
||||
|
||||
KeInitializeDpc (&Timer->Dpc, TimerFunction, FunctionContext);
|
||||
}
|
||||
|
||||
|
||||
|
@ -43,6 +63,7 @@ NdisMCancelTimer(
|
|||
IN PNDIS_MINIPORT_TIMER Timer,
|
||||
OUT PBOOLEAN TimerCancelled)
|
||||
{
|
||||
*TimerCancelled = KeCancelTimer (&Timer->Timer);
|
||||
}
|
||||
|
||||
|
||||
|
@ -54,6 +75,13 @@ NdisMInitializeTimer(
|
|||
IN PNDIS_TIMER_FUNCTION TimerFunction,
|
||||
IN PVOID FunctionContext)
|
||||
{
|
||||
KeInitializeTimer (&Timer->Timer);
|
||||
|
||||
KeInitializeDpc (&Timer->Dpc, MiniportTimerDpc, (PVOID) Timer);
|
||||
|
||||
Timer->MiniportTimerFunction = TimerFunction;
|
||||
Timer->MiniportTimerContext = FunctionContext;
|
||||
Timer->Miniport = MiniportAdapterHandle;
|
||||
}
|
||||
|
||||
|
||||
|
@ -63,6 +91,11 @@ NdisMSetPeriodicTimer(
|
|||
IN PNDIS_MINIPORT_TIMER Timer,
|
||||
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 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 UINT MillisecondsToDelay)
|
||||
{
|
||||
LARGE_INTEGER Timeout;
|
||||
|
||||
Timeout.QuadPart = MillisecondsToDelay * -10000;
|
||||
|
||||
KeSetTimer (&Timer->Timer, Timeout, &Timer->Dpc);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue