Implement KeInitializeThreadedDpc() and export it together with KeInitializeDpc()
This commit is contained in:
parent
a359c9b2e8
commit
be7981f614
@ -27,6 +27,12 @@ KeInitializeApc(IN PKAPC Apc,
|
|||||||
IN KPROCESSOR_MODE ApcMode,
|
IN KPROCESSOR_MODE ApcMode,
|
||||||
IN PVOID Context);
|
IN PVOID Context);
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
KeInitializeDpc(IN PKDPC Dpc,
|
||||||
|
IN PKDEFERRED_ROUTINE DpcRoutine,
|
||||||
|
IN PVOID DpcContext);
|
||||||
|
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
KeInitializeSemaphore(IN PKSEMAPHORE Semaphore,
|
KeInitializeSemaphore(IN PKSEMAPHORE Semaphore,
|
||||||
@ -37,6 +43,12 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock);
|
KeInitializeSpinLock(IN PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
KeInitializeThreadedDpc(IN PKDPC Dpc,
|
||||||
|
IN PKDEFERRED_ROUTINE DpcRoutine,
|
||||||
|
IN PVOID DpcContext);
|
||||||
|
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
KeInitializeTimer(OUT PKTIMER Timer);
|
KeInitializeTimer(OUT PKTIMER Timer);
|
||||||
|
@ -42,6 +42,39 @@ KeInitializeDpc(IN PKDPC Dpc,
|
|||||||
Dpc->DpcData = NULL;
|
Dpc->DpcData = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes Deferred Procedure Call (DPC) object.
|
||||||
|
*
|
||||||
|
* @param Dpc
|
||||||
|
* Supplies a pointer to the DPC being initialized.
|
||||||
|
*
|
||||||
|
* @param DpcRoutine
|
||||||
|
* Supplies a pointer to the DPC routine being called on object removal.
|
||||||
|
*
|
||||||
|
* @param DpcContext
|
||||||
|
* Supplies a pointer to memory area containing context data for DPC routine.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since NT 5.2
|
||||||
|
*/
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
KeInitializeThreadedDpc(IN PKDPC Dpc,
|
||||||
|
IN PKDEFERRED_ROUTINE DpcRoutine,
|
||||||
|
IN PVOID DpcContext)
|
||||||
|
{
|
||||||
|
/* Initialize threaded DPC */
|
||||||
|
Dpc->Type = ThreadedDpcObject;
|
||||||
|
Dpc->Number = 0;
|
||||||
|
Dpc->Importance = MediumImportance;
|
||||||
|
|
||||||
|
/* Initialize DPC routine and context data */
|
||||||
|
Dpc->DeferredContext = DpcContext;
|
||||||
|
Dpc->DeferredRoutine = DpcRoutine;
|
||||||
|
Dpc->DpcData = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retires the expired DPC objects found in the DPC list.
|
* Retires the expired DPC objects found in the DPC list.
|
||||||
*
|
*
|
||||||
|
@ -8,8 +8,10 @@
|
|||||||
@ cdecl HlIoPortOutLong(ptr long)
|
@ cdecl HlIoPortOutLong(ptr long)
|
||||||
@ cdecl HlIoPortOutShort(ptr long)
|
@ cdecl HlIoPortOutShort(ptr long)
|
||||||
@ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr)
|
@ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr)
|
||||||
|
@ stdcall KeInitializeDpc(ptr ptr ptr)
|
||||||
@ stdcall KeInitializeSemaphore(ptr long long)
|
@ stdcall KeInitializeSemaphore(ptr long long)
|
||||||
@ stdcall KeInitializeSpinLock(ptr)
|
@ stdcall KeInitializeSpinLock(ptr)
|
||||||
|
@ stdcall KeInitializeThreadedDpc(ptr ptr ptr)
|
||||||
@ stdcall KeInitializeTimer(ptr)
|
@ stdcall KeInitializeTimer(ptr)
|
||||||
@ stdcall KeInitializeTimerEx(ptr long)
|
@ stdcall KeInitializeTimerEx(ptr long)
|
||||||
@ stdcall KeReadSemaphoreState(ptr)
|
@ stdcall KeReadSemaphoreState(ptr)
|
||||||
|
Loading…
Reference in New Issue
Block a user